极客视点
极客时间编辑部
极客时间编辑部
113245 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/04:56
登录|注册

15条软件开发的基本法则

讲述:丁婵大小:6.77M时长:04:56
你好,欢迎收听极客视点。
日前,公众号“读芯术(ID:AI_Discovery)”编译了丹麦银行 C# 后端工程师尼克·米勒德(Nicklas Millard)的一篇文章。尼克·米勒德根据自己多年工作经验,总结出了 32 条非常实用的软件开发法则。极客视点从中精选了 15 条法则,希望能对你有所帮助。
1. 偶尔写写垃圾代码没有关系,因为应用程序的各个部分并非都是平等的。
2. 你可以编写一次性代码来测试不同的方法,不过需要注意的是,不要让一次性代码变成生产代码。
3. 你需要了解 if-else 的合适替代方法。目前,if-else 语句经常被过度使用,但实际上,很多设计模式都不需要它。
4. 重构就是重构。当你在进行重构时,不要尝试添加新的功能,这样只会让事情变得更加复杂。
5. 当你识别到垃圾代码时,最好花点时间把它们清理干净,不然很可能会在之后的某一天遭到“反噬”。
6. 抨击别人的代码不会让你成为更好的程序员,也不能彰显你的资历。一般来说,初学者抨击其他开发人员的代码的主要原因是,他们不理解这段代码的含义,甚至对相应的概念也不够了解。
7. 为简单问题编写简单的代码,不要把简单的问题复杂化。
8. 当你遇到复杂问题时,不要害怕自己提出了复杂的解决方案,但要把握好大方向。
9. 确保对重构的每一部分都进行测试,否则你将不知道自己的问题所在。
10. 当你遇到问题或者需要快速学习时,可以使用各种教程,但注意不要让自己受困于教程,要试着提出自己的想法。
11. 每个开发人员都会遇到自己的成长停滞期,如果你觉得自己总是在重复造轮子的话,可以向更有经验的开发人员寻求建议,不要封闭自己。
12. 遵守 SOLID 原则,具体包括 6 大设计原则:单一职责原则、开闭原则、里氏替换原则、迪米特原则、接口隔离原则、依赖倒置原则。结合这 6 个原则,你可以建立稳定、灵活、健壮的设计。
13. 如果选项数量有限,你可以使用字符串枚举作为参数。
14. 你需要认识到,很多时候,代码只是你达到目的的一种手段,解决业务问题才是最重要的事情。
15. 将软件开发视为一门手艺,编写目标明确、美观的代码,积极提高自己的技能。
以上就是尼克·米勒德在实际工作中总结出来的经验和建议,可能这些建议对你来说并不完全适用,你可以取其精华,并根据自己的实际情况做出调整,从而慢慢沉淀出最适合自己的软件开发原则。
当然,开发软件的过程中,即使你遵循了各种开发法则,你还是会遇到过这样的情况:
一直在增删改查,缺少大局观,闷头写代码,埋下了很多自己也不知道的坑;
系统出现问题时,只能头疼医头,脚疼医脚,找不到引发问题的本质原因;
为了一个小需求,要在无数的地方小心翼翼地做着各种微调,还被产品经理嫌弃改得慢;
每次针对需求变更而开发的代码,都会导致无尽的 Bug,连那些本来还好的代码模块也逐渐腐坏变烂;
把各种代码堆砌在一起,在出现 Bug 时,犹如“大家来找茬”一样在其中定位问题,脑壳痛。
其实,出现这些问题,绝大多数都是因为一个原因——软件设计一开始没做好。软件设计的优劣在根本上决定了软件系统的质量。好的设计,可以让系统更容易修改和扩展,不好的设计,却会让人举步维艰。
尽管软件设计很重要,但是学习起来却很容易陷入困惑。
所以,前火币网首席架构师郑晔在极客时间又开设了《软件设计之美》专栏,希望通过这门课程,给你讲解软件设计的核心思维,将纷繁复杂的软件设计知识融会贯通成一个整体的结构,帮助你建立起对软件设计的整体认知,切实帮助你提高软件开发能力。
以下是这个专栏的目录,供你参考。记得使用极客视点专属口令,享受立减优惠。
优惠口令:shejizhim
适用规则:立减 10 元(满 40 元可用)
有效期:9 月 10 日 - 9 月 17 日
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
67
沉浸
阅读
分享
手机端
快捷键
回顶部