编程重要的技能 - 学会何时拒绝编码

知道什么时候不编码可能是程序员可以学习的最重要的技能。

保持编码但知道何时拒绝编码。

编写的每一行代码的开销

  • 必须由其他程序员阅读和理解的代码
  • 必须进行测试和调试的代码
  • 代码会增加软件中的缺陷
  • 代码可能会在将来引入新的bug

编写代码引出的问题

  1. 加剧代码腐烂:代码很糟糕,它腐烂了,需要定期维护,它有需要找到的错误,新功能意味着必须调整旧代码。
  2. 开发维护成本:你拥有的代码越多,隐藏错误的地方就越多。调试时间或构建时间较长。新员工理解您的系统所需的时间越长。如果你必须重构,那么有更多的东西要移动。
  3. 反KISS原则:此外,更多代码通常意味着更少的灵活性和功能。这是违反直觉的,但很多时候,一个简单,优雅的解决方案比由较少人才的程序员制作的代码混乱更快,更通用。
  4. 增加沟通成本:代码由工程师生成。要制作更多代码,需要更多工程师。工程师有n²通信成本,他们添加到系统中的所有代码,同时扩展其功能,也增加了一大堆成本。

何时选择不编码

  1. 了解软件的用途及其核心定义是了解何时不进行编码的第一步。
  2. 切勿扩展软件的用途。
  3. 知道何时不进行编码会使代码库变小。
  4. 保持编码但知道何时拒绝编码。