七个编程习惯,让你在竞争中遥遥领先( 二 )


6、不要让意外发生 
代码不应该产生意外 。这是通过遵循代码原则和编写适当的测试来实现的 。
 
好的代码是可预测的 。
 
测试强制代码清晰和可预测性 。他们提供信心 。良好的自动化测试允许团队对代码进行更改,而不必担心会破坏一些看不见的东西 。
 

七个编程习惯,让你在竞争中遥遥领先

文章插图
图片
 
一些类型的测试包括:
 
  • 单个组件和独立功能的单元测试 。
  • 用于多个组件之间交互的集成测试 。
  • 端到端测试,从用户的角度评估整个系统的功能
 
测试应该很简单 。在阅读失败的测试时,应该很容易识别出哪里出了问题 。
 
知道什么不应该测试也很重要 。
 
例如,如果端到端测试的工作量超过了程序的实际收益 , 那么测试将被周全的文档、监视和向正确的人(例如代码所有者)发出警报所取代 。
 
测试也不应该测试代码中的实现细节,比如测试前端代码中的某些css选择器,而不是使用数据属性或只是屏幕截图测试 。
7、经常沟通 
伟大的系统不是单独建立起来的 。优秀的工程师会进行设计审查,征求反馈,并继续对他们的初始设计进行迭代 。
 
每个人都有知识盲区,可以由其他人来填补 。新的视角通常可以帮助代码变得更清晰,或者提供以前可能没有想到的新方法 。
 
最好的工程师既善于沟通又善于合作——为了更好的最终结果,他们不怕花时间一起工作 。
 
这可以很简单,比如让团队成员快速检查文档 , 或者为重要的拉取请求添加额外的代码检查人员 。
8、慢 , 即是快 
我所知道的最好的工程师通过慢编码来快速完成项目 。听起来很奇怪,对吧?
 
其实,上述所有这些原则和习惯都增加了首次编码的时间 。但它们允许工程师一步一步地推进项目的进展 。
 
通过花时间使用标准、适当地测试、使用原则和经常沟通,从长远来看,他们可以节省更多的时间 。
 
当我还是一名实习生和初级工程师时,我亲身经历过另一种选择,我相信很多人也有过这种经历 , 那就是向前冲3步,撞到一个障碍物,然后不得不后退5步 。
9、不要盲目循规蹈矩 
以上的“规则”和“原则”只是指导方针 。并不是所有的东西都能很好地符合指导方针 。
 
有时候,你写的代码是一个正方形,不能放进那个圆圈里 。没关系 。
 
七个编程习惯,让你在竞争中遥遥领先

文章插图
图片
 
在这种情况下,请确保记录代码以某种方式编写的原因 。
 
如果你不这样做,那么有人,比如未来的你 , 可能会在未来看到当时的代码时觉得“哇,我当时真笨 。为什么不符合我们的标准呢?”
 
然后 , 他们会花20个小时重新编码,以符合标准,只是为了得到和以前相同的结论 。听起来是不是很熟悉?
 
软件开发的现实是,并不是所有的代码都是干净的或完全遵循规则的 。
 
但是 , 它可以是一致的、干净的、可理解的、可测试的和有价值的 。
10、写在最后 
此外,我还注意到:这些工程师的行为模式还包括:
 
至少在一个领域有深厚的领域知识 。我所记录的每一位工程师如今都是各自领域的顶尖人物,因为他们专注于某一领域,并成为了该领域的专家 , 无论是前端基础设施、分布式系统还是简洁的UI 。
 
经常适当地推销自己 。这些工程师并没有藏匿于幕后 。他们团队中的每个人以及与他们一起工作的每个人都知道他们的价值和专长 。这是通过适当地营销自己和从事高影响力项目的结合而实现的 。
 
参考链接:https://engineercodex.substack.com/p/7-simple-habits-of-the-top-1-of-engineers

【七个编程习惯,让你在竞争中遥遥领先】


推荐阅读