童子军法则

本文为翻译转载,原文通道:The Boy Scout Rule。

翻译人:安秦

【相关背景知识】

西方国家有一种活动组织形式叫童子军,通常面向小男孩或男青年。通过组织团体活动、公益行动和夏令营来达到培养人格、动手能力、思考能力、团队协作、公益心等方面的目的。

【译文】

童子军里有一个规定:“离开的时候,总要让露营地比你来的时候更干净。” 如果你在地上发现脏乱,把他收拾了,无论是谁造成的。要刻意地为后面来露营的人创造更好的环境。实际上这条规定最原先是童子军之父——Robert Stephenson Smyth Baden-Powell——写的,原文是“努力让世界比你遇见它的时候更美好一点”。

那么我们在代码里不妨遵循一个类似的规定:“提交一个模块的代码的时候,总要让它比下载的时候更简洁一些”,不论是谁是段代码的原作者。如果我们总是努力让代码哪怕只是略微变好一点点,那么结果会如何呢?

我觉得,如果我们都遵循这个简单的规定,那么就再也不会见到我们的软件渐渐腐化、总是趋于变成一团乱码。相反,我们的系统最终会演变得越来越好。我们也将见到整个团队照料整个系统,而非个人各自只关心他们那一小部分。

我觉得这条规定并不复杂,你并不需要在提交代码的时候都要保证代码模块十分完美,你只是让它比起刚拉下来的时候更好一点点。当然这就意味着你给模块添加的代码必须是干净的,这也意味着你要在提交前至少做一点其他方面的优化。你可以只是改善了一个变量的命名,或者将一个很长的函数拆分成两个更小的函数,你还可以解决一个循环依赖或者添加一个抽象层将策略设计与实现细节分离。

实际上这对我而言更像是个好的日常习惯——就像上完厕所要洗手,或者将垃圾丢入垃圾桶。留下一团糟糕的代码确实就像是随地丢垃圾一样,这是一个就是不应该做的事情。

不止如此,照料整个团队的代码和打理自己的代码确实很不同。团队内互相帮助,互相为它人清理代码,他们遵循童子军的规定因为这对大家好,而不止是对自己好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章