软件设计之美
郑晔
开源项目 Moco 作者
19890 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
软件设计之美
15
15
1.0x
00:00/00:00
登录|注册

结束语|那些没讲的事儿

你好!我是郑晔。
我又一次写到了结束语,也许你也是又一次来到我的结束语。当初写《10x 程序员工作法》结束语时的感觉,依然历历在目。这一次,《软件设计之美》也写到了尾声。
学习了两个专栏的小伙伴对我的风格可能有一些了解,我总是试图把尽可能多的知识以结构化的方式呈现在你面前。因为,就我自己的学习而言,我也总是可以很快学会细节的东西,但知识结构却不是一朝一夕就可以建立的。
我曾把《10x 程序员工作法》比作藏经阁的目录,因为它是我已经结构化了的软件开发的各种最佳实践,而《软件设计之美》则是我构建软件设计知识大厦的一种尝试。我总是努力提供尽可能大的知识密度,保证看到这些内容的你,在学了我的专栏之后,还可以有继续扩展学习的空间。
我在下面附上了总结图,把专栏里提到的知识做了一个整理,方便你更好地进行复习。
课前必读、了解设计和巩固篇导图
程序设计语言导图
编程范式导图
设计方法导图
设计原则与模式导图
但是,在这个专栏中,虽然我把软件设计相关的核心知识都讲了一遍,可还有一些内容是我没有在专栏中呈现出来的。那么,在这个专栏的结束语中,我们就来说说那些没讲的事儿。

设计需要沟通

你能感受到,我在这个专栏里给你讲的大部分内容都是技术性的,然而,在真实的软件开发过程中,软件设计工作有很大一部分内容却是非技术性的,比如,沟通。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

软件设计不仅仅是技术性的工作,它还需要大量的沟通。在软件开发过程中,设计工作的实施和理解都需要通过沟通来达成一致。随着工作责任的增加,沟通的重要性也变得更加突出。好的设计需要能够被他人理解和认同,而这就需要通过沟通来实现。在软件设计中,UML作为一种沟通工具,虽然现在被随手画图所取代,但了解其基本原理仍然是有益的。因此,沟通能力对于软件工程师来说是非常重要的,尤其是随着职位的上升。如果其他人难以理解你的设计,可能是因为设计本身存在问题,也可能是因为你的沟通还不够好。因此,在软件设计中,技术能力的同时,沟通能力也同样重要。 软件设计的基础,无论是设计模式,还是设计微调的技巧,你都可以通过课程去学习,甚至可以通过短期的训练营去锻炼。但是,如果你想要把这些内容熟练地运用到实际的工作中,那就需要你有大量经验的积累,需要你经历或者见过许多不同的使用场景。不过,一切经验积累的前提条件是,先有软件设计的意识。对于大多数人而言,软件设计是知与不知的差别。知道的人就会有意识地积累经验,而不知道的人即使做过再多的项目,也无非是不断地在重复增删改查。 软件设计关注的是长期变化。可是,实际上,没有任何一个专栏或是一个训练营可以让你真正地感受到一个软件的长期变化,唯有真实的项目可以。每当来了一个新的需求,我们就会有一个对应的解决方案。但是,我们最好先问自己一个问题,这种实现方案是不是一个好的设计呢?这么做就可以给自己的直觉思维加上一个缓冲。普通程序员和高手之间的差别就在于此,普通程序员凭直觉做事,高手却是把专业的做法训练成直觉。 软件设计之美专栏结束了,但这只是软件设计学习的开始。软件设计需要技术能力和沟通能力的结合,以及大量的经验积累。只有有意识地积累经验,才能在实际工作中熟练地运用软件设计知识。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件设计之美》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(44)

  • 最新
  • 精选
  • Sinclairs
    第一个及时跟完的课程,mark 一下,也谢谢郑大!😃

    作者回复: 这速度也太快了!

    2020-08-12
    10
  • WoLoong
    谢谢老师,我感觉获益良多

    作者回复: 共同交流,一起进步!

    2020-08-12
    6
  • 奔奔奔跑
    真的意犹未尽,每天早上挤地铁的时候第一件事就是发来看看郑老师专栏看看是否有更新。只有在看老师专栏的时候才会让我感觉到搞技术的也不是那么浮躁,在追求真正美的事务

    作者回复: 希望你以后也可以在地铁上复习。

    2020-08-12
    2
    3
  • 李昌珂
    不知不觉就结束了,这么好的专栏为什么不到4000人学习呢,或许都向着具体功能和解决方案去了吧。由于跳槽来新公司,开始负责一个完整的子系统的开发,而以前的开发真的就是处于小需求打补丁形式的工作,现在才开始站在整个软件系统的角度去看问题,这样一个很重要问题就摆在了面前 --软件设计。很幸运在极客时间遇到了 这个专栏,也为我开启了软件设计的大门,也初步理解了为什么专栏会叫 软件设计之美 ,因为跟随着专栏学习是真的窥见了软件设计那一抹靓颖,也开始越来越不能容忍自己那些糟糕的代码了。好了,去重构自己的代码去了。PS,果断 入手 10x 程序员工作法

    作者回复: 欢迎与更多人分享你的所得,也欢迎邀请更多小伙伴加入。

    2020-12-16
    2
  • 蓝萧
    感谢郑老师,在极客时间的所有课程中,《软件设计之美》是我买的第5个课程,却是第一个完整学完的。自己之前一直都是靠直觉做设计,很享受这段学习旅程,对我来说真的是开始的结束。

    作者回复: 欢迎把它分享给更多的朋友。

    2020-09-17
    2
  • 夏天
    感谢郑大,课程结束了,也是一个开始。以前看了设计模式,设计原则,DDD,UML,都觉得缺了些什么,这次在这个课程把软件开发过程中关于设计的部分串起来了,形成一个完整的系统,有利于在工作中实践。

    作者回复: 这也是我想了好久的问题,我之前学习这些东西也总觉得有所欠缺,索性就自己构建一个体系。

    2020-08-13
    2
  • 编程爱好者
    郑老师功力深厚,专栏内容深入浅出,专栏的阅读体验与之前看数学之美以及量子力学史话有一样的感觉,准备第二遍深读

    作者回复: 希望没有让你失望

    2020-08-12
    2
  • 人间四月天
    学习了作者的两本书,收获还是很多的。 10倍工作法,是很好经验的沉底,值得在工作中借鉴。 设计这个课,确实梳理了一下软件设计的脉络,有知识的广度,并且是结构化的,软件设计的经典书籍,一定要学习设计模式,代码整洁之道,架构整洁之道,这些经典书籍配套学习,效果会更好。

    作者回复: 配套读书效果好!

    2020-08-12
    2
  • zcc
    收获满满,期待您的下次分享!设计模式这个图是不是有点问题?

    编辑回复: 马上修改~感谢指正

    2020-08-12
    2
  • Stone之
    花二天时间看完! 受益非浅. 设计模式就像太极剑,要得招而忘招.精髓在于设计原则!

    作者回复: 这个比喻很恰当

    2021-05-28
    1
收起评论
显示
设置
留言
44
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部