原文:Andy Hertzfeld - 1982.02

1982 年初,Lisa 软件团队正努力为接下来的六个月内,发布软件做大规模的准备。一些管理者认为,跟踪每个工程师每周写的代码量以衡量他们的进步是个好主意。他们设计了一种表格,工程师每周五都需要提交,其中一项是该周编写的代码行数。

Bill Atkinson,Quickdraw 的作者和主要用户界面设计师,也是 Lisa 项目中最重要的实施者,认为代码行数是衡量软件生产力的愚蠢标准。他认为目标应该是编写尽可能小且快的程序,而代码行数这个指标只会鼓励编写杂乱、臃肿、错误的代码。

他最近一直在优化 Quickdraw 的区域计算机制,并已经使用更简单、更通用的算法完全重写了区域引擎。经过一些调整后,这使得区域操作的速度提高了近六倍。还有一个额外的效果,重写节省了大约 2000 行代码。

当他正要对优化做最后的完善时,恰好是第一次填写管理表格的时候。到了代码行数部分,他想了想,然后写下了这个数字:-2000。

我不确定管理者们对此如何反应,但我确实知道,几周后,他们就不再要求 Bill 填写这个表格,他也很高兴地答应了。