跳到主要内容

先跑通,再重构

· 阅读需 3 分钟

我对自己的编程产出效率一直不太满意。按理来说以我的编程基础,实现一些网上教程遍地的基础功能应该很快,但我经常磨叽好几天啥都做不出。

究其原因,我认为程序员可以粗糙地分为三个阶段:

  • 初学者:实现功能爽欸!时间复杂度是什么?设计模式是什么?命名规范是什么?
  • 我:不!!!这么写太不优雅了!!!不要污染代码仓库!!!
  • 高手:实现功能爽欸!不过第一版有点乱,等下得重构一下。

初学者写得快,因为他们对代码质量没有概念,只要能出效果就有动力做下去,形成正反馈循环;高手写得也快,因为他们知道混乱的第一版也是流程的一部分,并且经验丰富,对后续重构心里有底。

而我卡在中间,大致知道什么是好代码,但对于自己能不能写出好代码心里没底,而且总想第一遍就写出优雅的代码。于是我经常犹豫不前,产出效率有时甚至不如一些初学者,包括初学编程时的自己。

因此我需要转变心态,默认写代码不可能一步到位,把编程习惯改为“先跑通,再重构”的两步走,第一步只做可行性验证,不管代码多屎,跑通就算成功,第二步再想办法改得优雅。这样就能降低开始行动的心理门槛,还能保持质量稳定。