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
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论