0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

软件工程师如何做出合理的设计

工程师人生 ? 来源:wv ? 作者:简书网 ? 2019-09-05 15:39 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

不断的复制粘贴和简单排列组合的人叫码农,明白自己编程设计的人叫软件工程师

了解 C语言 的过程式,HTML/css/js 的文档声明式,Java/Ruby 的面向对象式,Golang 的组合式和最近看的 Lisp(Scheme) 的函数式这些不同的思维模式让我渐渐明白了:一个优秀的软件工程师应该在基本的计算机知识上,有整体意识,有大局观,在工程中的各个阶段做出最合理的设计决策,注意这里说的是合理,而不是最好,因为工程是为了解放人类脑力和体力。

设计决策大到设计语言选型,数据库,软件架构,网络协议,小到模块设计,类,方法,变量命名。我记得高中有个足球教练说过:一个人会不会踢球,看他踢一脚就够了。

那么问题来了,如何做出合理的设计呢?

对需求的理解

对现实条件的评估

对工程的预期(人月)

平衡 1. 2. 3. 作出用于试错的决策计划

小步试错,在可接受的时间点之前作出合理项目计划

需求理解力

程序员和差程序员的区别在于理解能力 --《简约之美:软件的设计之道》

是的,我们写的每一行代码,每一行注释都是为了直接或者间接的实现某种实际价值,而不是研究某个学术或者练习英语。所以了解需求至关重要,其实说白了就是对数据作怎样的处理。不同的行业有不同的特点,不同需求有不同的价值实现诉求,深入了解要解决的领域问题,然后以在更高的视角抽象成计算机能理解模型,所谓“艺术源于生活,但高于生活”。

现实条件的贯通力

这里主要涉及的是计算机专业领域的基本功即:操作系统,计算机网络,数据库,算法与数据结构,语言相关设计模型等。我们没有必要将各个算法各个协议倒背如流,能查文档的没必要往自己脑子里硬塞。要明白的是:以上每个领域的设计都有很强的需求背景,我们所要了解的是,在历史的角度上,它们是为了解决哪类问题而逐渐演化发展而来的,各中解决方案之间有何联系和区别,考虑自己的应用场景,如何从前辈的设计方案中做抽取,组合,修改和扩展。

人月评估力

有了以上的基本客观条件,最难得就是对人的评估。

对自己/团队成员水平的评估

对新技术的调研和学习时间

对突发状况的应对措施

万剑归宗:应变调整力

唯有变化是不变的,在实践中不断磨练自己应对变化的调整能力。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件工程师
    +关注

    关注

    8

    文章

    243

    浏览量

    21439
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    做了电子工程师之后,最好拍的视频出现了#硬件设计 #电子DIY #电子工程师

    电子工程师
    安泰小课堂
    发布于 :2025年06月24日 17:45:57

    (仰天长啸)为什么受伤的总是硬件工程师...#MDD#MDD辰达半导体 #电子工程师

    电子工程师
    MDD辰达半导体
    发布于 :2025年04月27日 18:21:47

    问,成为硬件工程师需要几只手?#硬件工程师 #YXC晶振 #扬兴科技 #搞笑

    硬件工程师
    扬兴科技
    发布于 :2025年04月25日 17:15:37

    工程师经验分享:社区之星 赵云 沉着稳定才能做好技术

    控制算法理论和实践有过推导和大量的研发调试经验。 ? 工作经历: 华为技术有限公司---芯片验证工程师 上海问问网络科技有限公司---电机驱动软件工程师 ? ? ? 社区访谈: 社区小助手:可以分享一下您的学习、工作经历吗,您是怎样进入电子行业的呢? 赵
    的头像 发表于 04-15 15:58 ?569次阅读
    <b class='flag-5'>工程师</b>经验分享:社区之星  赵云 沉着稳定才能做好技术

    如何成为一名嵌入式软件工程师

    软件工程师是连接硬件与软件世界的桥梁,他们的工作对于产品的性能和稳定性至关重要。 通过掌握核心技能、积累实战经验、关注未来发展趋势并合理规划职业路径,嵌入式软件工程师可以在职业生涯中不
    发表于 04-15 14:37

    硬件工程师:回答我!#回答我 #硬件工程师 #YXC晶振 #扬兴科技

    硬件工程师
    扬兴科技
    发布于 :2025年03月25日 18:46:59

    一招拿捏电子工程师#被AI拿捏了 #电子工程师 #电子电工

    电子工程师
    安泰小课堂
    发布于 :2025年03月25日 17:30:51

    嵌入式软件工程师就业好不好?

    嵌入式软件工程师就业好不好?会不会越老越吃香?今天一起来看看。 首先看下市场需求。 随着物联网、人工智能、5G等前沿技术的快速发展,嵌入式系统的应用领域不断扩大,从智能家居、汽车电子到工业自动化
    发表于 02-20 10:19

    特斯拉招募软件工程师强化无人驾驶与机器人远程操作

    近日,据外媒最新报道,特斯拉正紧锣密鼓地招募软件工程师团队,旨在加强其无人驾驶出租车及Optimus机器人的远程操作能力。这一举措标志着特斯拉在推动自动驾驶与人工智能领域迈出了重要一步。 特斯拉此次
    的头像 发表于 11-27 10:26 ?1101次阅读

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,还需要与软件工程师、硬件工程师紧密合作,对整个系统进行集成和测试。 总的来说,FPGA 算法工程师着重于算法优化,FPGA 逻辑工程师专注于逻辑设计,FPGA 原型验证
    发表于 09-23 18:26