高效的开发人员既聪明又懒

高效的开发人员既聪明又懒
当我使用术语SmartLazyDeveloper时 ,我的意思是:

  • 像在智能中一样聪明,并能够通过思考(即不是智能资产)
    • 不是梦想家,他从不动手写任何实用的东西
  • 延迟 加载中的延迟 ,即等待编写代码(即不等待马铃薯)
  • 充满活力的开发人员 ,专注于构建实际的代码解决方案

良好的发展是懒惰的发展。 它是当开发人员花费想通过他正在开发编写代码解决方案的所有途径所需的时间。 那是代码的惰性编写 ,即在您真正理解代码之前不编写代码。 开发人员为了确保自己正在编写正确的代码而进行的尽职调查将减少需要编写的代码量。

高效的开发人员既聪明又懒

尽职调查的形式为:

  • 真正了解需求并让产品管理人员(业务分析师)明确了解实际需求
      他们通常没有时间收集需求
  • 真正确保您了解如何与团队中的其他开发人员以及其他团队进行交互
      这涉及相当多的白板

高效的开发人员既聪明又懒

进行尽职调查需要花费时间来确保您具有一致的要求 ,并确保与对等方具有一致的界面 但是,开发人员渴望开始编写代码,并花很多时间在办公桌上编写代码。 实际上,只有不到5%的时间用于生产(请参阅《程序员生产力悖论》 )。 如果您发现开发人员将100%的时间都花在没有人机交互的情况下盯着屏幕,那么您就是在看一些最差的开发人员。

如果开发人员总是编码,这是一个不好的信号

高效的开发人员会不断检查他们对需求的了解,并确保与团队代码保持同步 生产性开发人员与产品经理/业务分析师保持定期联系 ,经常可以看到他们与同行和架构师一起白板 肯定有一些开发人员利用他们多年的经验来提高工作效率,实际上是最好的开发人员之一:

  • 初始编码时间的比例约为20:1
  • 调试时间超过25:1的比例
  • 程序执行速度约10比1
  • 程式大小5比1

高效的开发人员既聪明又懒 但是, 总体而言 ,开发人员不会随着时间的推移而变得更有效率(请参见
无需经验! ),即成千上万的开发人员,多年的经验与生产力之间没有任何关联。 实际上,在过去的50年中,我们定期对生产率进行了8次测量,而多年的经验(总体而言)与生产率没有关联。

为什么惰性编写代码如此重要?

通常在理解或收集需求之前编写代码。 另外,快速编写的代码通常无法与其他人的代码相适应。 通常,只有在集成过程中才发现此问题。 优秀的开发人员会耐心并且意识到快速编写代码会付出一定的代价。

开发人员在心理上会依附于他们的代码

糟糕的开发人员不愿更改编写不良的代码。 错误的开发人员不会重写次优的代码,而只会添加更多的代码来弥补缺陷。 更糟糕的是,他们往往会因代码错误而指责其他所有人。 您最终会在创可贴之后进行创可贴,从而导致严重的越野车和不稳定的系统。

别误会,优秀的开发人员会发现自己处在编写次优代码的境地。 区别在于,优秀的开发人员将识别出有问题的代码部分,并:

  • 如果代码在很大程度上做正确的事,则重构代码
  • 否则,重写代码

高效的开发人员既聪明又懒 当开发人员生成和维护次优代码时,随着时间的流逝,更改此代码变得越来越困难 这是因为他们的同级将需要编写与sutb最佳代码交互的代码,并构建笨拙的接口或变通方法以使代码正常工作。 随着代码库的增长,太多的后续代码单元都依赖于此初始代码的功能。 当然,后面的代码对提高代码的稳定性几乎无济于事,而在进行简单的更改时,错误就会成倍增加。 简而言之,发展变得越来越慢。

如有疑问,请懒惰并迟写代码

翻译自: https://www.javacodegeeks.com/2014/04/productive-developers-are-smart-and-lazy.html