您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

软件开发32条法则:经过实践检验的实用建议和经验教训

发表于:2020-08-24 作者:读芯术 来源:读芯术

本文转载自公众号“读芯术”(ID:AI_Discovery)。

过去的几年里,笔者一直在为各种大小客户专业开发软件。一些软件已经在非常严格的环境中使用了,在这些环境中,安全性和可靠性是最重要的。根据多年的经验,我整理了一些实用建议。无需赘言,以下是一些自认为实用的建议、经验和优秀实践。

1. 偶尔写写垃圾代码没关系,应用程序的各个部分并非都是平等的。

2. 无需学习一门新的语言来学习新东西,同样的事情通常可以用许多语言来完成,深度胜于广度。

3. 可以编写一次性代码来测试不同的方法,只是不要让一次性代码变成生产代码。

4. 防御性代码。还记得你认为的永远不会为空的方法参数吗?是的,事实证明它为空,你的应用程序爆炸了,只需编写这些保护条款并加以使用即可。

5. 拒绝硬编码应用程序设置。编写可配置组件并将环境变量传递给它们,重新启动应用程序比重新编译和重新部署更容易。

6. 编写易于测试的代码。这意味着停止在命令处理程序、服务类等内部“新建”数据库对象等等,而是将其转变为依赖项。

软件开发32条法则:经过实践检验的实用建议和经验教训

图源:unsplash

7. 仅在发生异常情况时抛出异常。

8. 了解If-Else的合适替代方法。If-Else经常被过度使用,它是设计不良的早期迹象,事实上,许多设计模式都不需要If-Else语句。

9. 并非每个IF都需要ELSE IF或ELSE。

10. 重构就是重构。在进行重构时,请勿尝试添加新功能,相信我,结果不会很好。

11. 当识别垃圾代码时,花点时间把它清理干净,使其变得更好——无论“更好”在特定情况下意味着什么。

12. 若不学习设计模式将会遇到困难。它们无处不在,学习它们可以使工作更轻松。

13. 应用设计模式很可能会改进代码。

14. 抨击别人的代码不会让你成为更好的程序员,也不能彰显你的资历。初学者抨击其他开发人员的代码的主要原因是,即使是简单的概念,他们有时也会很难理解。

15. 在需要界面之前不要先创建界面,从具体的类开始就完全可以了。

16. 确定字段/属性/方法需要公开吗?不,将其私有化或内部化即可。

17. 超级简单的类(就像简单的方法一样)是正确的方法。

18. 为简单问题编写简单代码。

19. 确保对重构的每一部分都进行测试,否则你将不知道自己的问题所在。

20. 刚刚记下的代码并不比具有1100万次下载量的NPM / NuGet / pip程序包更好,下载f * kn程序包并继续。

21. 不要害怕为复杂的问题提出复杂的解决方案,只是要把握好大方向。

软件开发32条法则:经过实践检验的实用建议和经验教训

图源:unsplash

22. 你可以选择几种语言。尝试使用后端、前端和数据库语言,你会对团队其他成员正在处理的事情深深地感激。

23. 停止观看各种无用的教程,试着得出有自己的想法。当然,当遇到问题或需要快速学习时,偶尔使用教程也可以,只是不要受困于教程。

24. 大多数开发人员也编写垃圾代码。不要迷失自己的方向,他们这样做肯定是有原因的。

25. 观看开发者大会演讲,追随思想领袖,可以吸取丰富的经验并容易获得灵感。

26. 在成为更好的开发人员过程中,每个人都会遇到一段停滞期。向有经验的开发人员寻求建议,不要害怕向任意一位开发人员发送消息。

27. 将GUID / UUID用作实体ID通常会使事情更容易处理,但请注意要做出的权衡。

28. 遵守SOLID原则。它们易于理解,可以提高代码质量。诸如“遵守或违背原则无所谓”之类的说法会伤害到你。

29. 如果选项数量有限,请用字符串枚举作为参数。

30. 将代码排列在模块中(以.NET术语表示的项目)。不要将所有内容都放在一个模块中,这样很快就会失控。

31. 记住,要解决的业务问题或开发的业务应用程序是最重要的事情。对于企业而言,你的代码只是达到目的的一种手段。

32. 将软件开发视为一门手艺。编写目标明确的美观代码,积极提高自己的技能。

软件开发32条法则:经过实践检验的实用建议和经验教训

图源:unsplash

这只是笔者自己在实际工作中总结出来的经验建议,肯定会有人反对上面的一些建议,总是会有不同的意见、方法和心态,多角度考虑是有益的。你要做的是保持批判性,并把你认为有意义的内容融入到自己的思想行为体系当中。