本文转载自公众号“读芯术”(ID:AI_Discovery)。
过去的几年里,笔者一直在为各种大小客户专业开发软件。一些软件已经在非常严格的环境中使用了,在这些环境中,安全性和可靠性是最重要的。根据多年的经验,我整理了一些实用建议。无需赘言,以下是一些自认为实用的建议、经验和优秀实践。
文章图片
- 偶尔写写垃圾代码没关系,应用程序的各个部分并非都是平等的。
- 无需学习一门新的语言来学习新东西,同样的事情通常可以用许多语言来完成,深度胜于广度。
- 【软件开发|软件开发32条法则(经过实践检验的实用建议和经验教训)】可以编写一次性代码来测试不同的方法,只是不要让一次性代码变成生产代码。
- 防御性代码。还记得你认为的永远不会为空的方法参数吗?是的,事实证明它为空,你的应用程序爆炸了,只需编写这些保护条款并加以使用即可。
- 拒绝硬编码应用程序设置。编写可配置组件并将环境变量传递给它们,重新启动应用程序比重新编译和重新部署更容易。
- 编写易于测试的代码。这意味着停止在命令处理程序、服务类等内部“新建”数据库对象等等,而是将其转变为依赖项。
文章图片
图源:unsplash
- 仅在发生异常情况时抛出异常。
- 了解If-Else的合适替代方法。If-Else经常被过度使用,它是设计不良的早期迹象,事实上,许多设计模式都不需要If-Else语句。
- 并非每个IF都需要ELSE IF或ELSE。
- 重构就是重构。在进行重构时,请勿尝试添加新功能,相信我,结果不会很好。
- 当识别垃圾代码时,花点时间把它清理干净,使其变得更好——无论“更好”在特定情况下意味着什么。
- 若不学习设计模式将会遇到困难。它们无处不在,学习它们可以使工作更轻松。
- 应用设计模式很可能会改进代码。
- 抨击别人的代码不会让你成为更好的程序员,也不能彰显你的资历。初学者抨击其他开发人员的代码的主要原因是,即使是简单的概念,他们有时也会很难理解。
- 在需要界面之前不要先创建界面,从具体的类开始就完全可以了。
- 确定字段/属性/方法需要公开吗?不,将其私有化或内部化即可。
- 超级简单的类(就像简单的方法一样)是正确的方法。
- 为简单问题编写简单代码。
- 确保对重构的每一部分都进行测试,否则你将不知道自己的问题所在。
- 刚刚记下的代码并不比具有1100万次下载量的NPM / NuGet / pip程序包更好,下载f * kn程序包并继续。
- 不要害怕为复杂的问题提出复杂的解决方案,只是要把握好大方向。
文章图片
图源:unsplash
- 你可以选择几种语言。尝试使用后端、前端和数据库语言,你会对团队其他成员正在处理的事情深深地感激。
- 停止观看各种无用的教程,试着得出有自己的想法。当然,当遇到问题或需要快速学习时,偶尔使用教程也可以,只是不要受困于教程。
- 大多数开发人员也编写垃圾代码。不要迷失自己的方向,他们这样做肯定是有原因的。
- 观看开发者大会演讲,追随思想领袖,可以吸取丰富的经验并容易获得灵感。
- 在成为更好的开发人员过程中,每个人都会遇到一段停滞期。向有经验的开发人员寻求建议,不要害怕向任意一位开发人员发送消息。
- 将GUID / UUID用作实体ID通常会使事情更容易处理,但请注意要做出的权衡。
- 遵守SOLID原则。它们易于理解,可以提高代码质量。诸如“遵守或违背原则无所谓”之类的说法会伤害到你。
- 如果选项数量有限,请用字符串枚举作为参数。
- 将代码排列在模块中(以.NET术语表示的项目)。不要将所有内容都放在一个模块中,这样很快就会失控。
- 记住,要解决的业务问题或开发的业务应用程序是最重要的事情。对于企业而言,你的代码只是达到目的的一种手段。
- 将软件开发视为一门手艺。编写目标明确的美观代码,积极提高自己的技能。
文章图片
图源:unsplash
这只是笔者自己在实际工作中总结出来的经验建议,肯定会有人反对上面的一些建议,总是会有不同的意见、方法和心态,多角度考虑是有益的。你要做的是保持批判性,并把你认为有意义的内容融入到自己的思想行为体系当中。
【责任编辑:赵宁宁 TEL:(010)68476606】
推荐阅读
- Application|linux应用编程笔记(5)系统调用文件编程方法实现文件复制
- Asp.net|System.Globalization.DateTimeFormatInfo.InvariantInfo
- Java|快到35岁了,担心失业(这篇文章告诉你什么才是中年危机)
- sql语句中直接将时间戳转化为时间格式
- Linux|fcntl即F_SETFL,F_GETFL的使用,设置文件的flags
- Linux|关于getsockname函数的使用