软件开发32条法则:经过实践检验的实用建议和经验教训
全文共1918字,预计学习时长5分钟
图源:unsplash
过去的几年里,笔者一直在为各种大小客户专业开发软件。一些软件已经在非常严格的环境中使用了,在这些环境中,安全性和可靠性是最重要的。根据多年的经验,我整理了一些实用建议。无需赘言,以下是一些自认为实用的建议、经验和最佳实践。
1.偶尔写写垃圾代码没关系,应用程序的各个部分并非都是平等的。
2.无需学习一门新的语言来学习新东西,同样的事情通常可以用许多语言来完成,深度胜于广度。
3.可以编写一次性代码来测试不同的方法,只是不要让一次性代码变成生产代码。
4.防御性代码。还记得你认为的永远不会为空的方法参数吗?是的,事实证明它为空,你的应用程序爆炸了,只需编写这些保护条款并加以使用即可。
5.拒绝硬编码应用程序设置。编写可配置组件并将环境变量传递给它们,重新启动应用程序比重新编译和重新部署更容易。
6.编写易于测试的代码。这意味着停止在命令处理程序、服务类等内部“新建”数据库对象等等,而是将其转变为依赖项。
图源: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.不要害怕为复杂的问题提出复杂的解决方案,只是要把握好大方向。
图源:unsplash
22.你可以选择几种语言。尝试使用后端、前端和数据库语言,你会对团队其他成员正在处理的事情深深地感激。
23.停止观看各种无用的教程,试着得出有自己的想法。当然,当遇到问题或需要快速学习时,偶尔使用教程也可以,只是不要受困于教程。
24.大多数开发人员也编写垃圾代码。不要迷失自己的方向,他们这样做肯定是有原因的。
25.观看开发者大会演讲,追随思想领袖,可以吸取丰富的经验并容易获得灵感。
26.在成为更好的开发人员过程中,每个人都会遇到一段停滞期。向有经验的开发人员寻求建议,不要害怕向任意一位开发人员发送消息。
27.将GUID / UUID用作实体ID通常会使事情更容易处理,但请注意要做出的权衡。
28.遵守SOLID原则。它们易于理解,可以提高代码质量。诸如“遵守或违背原则无所谓”之类的说法会伤害到你。
29.如果选项数量有限,请用字符串枚举作为参数。
30.将代码排列在模块中(以.NET术语表示的项目)。不要将所有内容都放在一个模块中,这样很快就会失控。
31.记住,要解决的业务问题或开发的业务应用程序是最重要的事情。对于企业而言,你的代码只是达到目的的一种手段。
32.将软件开发视为一门手艺。编写目标明确的美观代码,积极提高自己的技能。
图源:unsplash
这只是笔者自己在实际工作中总结出来的经验建议,肯定会有人反对上面的一些建议,总是会有不同的意见、方法和心态,多角度考虑是有益的。你要做的是保持批判性,并把你认为有意义的内容融入到自己的思想行为体系当中。