写作从来都不是一件易事。软件工程师与其他人一样,他们不愿意写文档,是因为想要写得条理清晰、简洁明了,实在是太难了。
写作是一项非常艰巨的任务。我们必须清楚地组织自己的思想,然后经过检查和整理,最后再清楚地表达出来。尽管最后的表达部分可以从某种程度上进行简化(取决于写作的质量),但是正确完成这三个步骤需要付出大量的努力。
在编程的世界中,面对所有问题,我们能够给出的最佳答案都是:“视具体情况而定”,一切都需要权衡取舍,但写作则更加复杂。你需要预设上下文,证明决策的合理性,然后论证代码底层思想的推动力。这样的文档只有编写得好才会有用,但写好太难了,所以往往根本做不到。错误的代码仍然可以运行,但错误的文档则不会出现。

即便开发人员不编写文档,他们仍然可以完成自己的工作。没有文档也不会阻碍交付代码(至少不会马上有问题)。没有文档记录的技术决策所造成的损害是累积性的。就像技术负债一样,不会立即造成伤害。
就像我上面所说,写作主要是思考和分析问题。大多数时候,编程只需要凭借自己的经验和判断。一堆杂乱无章的代码照样可以运行,但是一堆乱七八糟的单词和段落则无法形成文章。写作必须清晰才能发挥作用。只要代码能够完成工作,就可以被接受(在某种程度上)。而且,由于大多数组织只在乎产品的交付,因此凡是不会阻碍产品交付的工作都会被忽略。

私我 “资料” 获取!