您的位置:首页 > 其它

小孩scout的做事原则

2012-12-21 10:42 204 查看
The boy scout rule 原文 : http://programmer.97things.oreilly.com/wiki/index.php/The_Boy_Scout_Rule

小孩scout的做事原则

小孩scout有一条做事原则:“ 永远让营地比你来之前更加干净。” 看到地上有脏乱,把它收拾起来而不去管到底是谁做的。这特意地为下一组野营的人营造了一个更好的环境。实际上,这个原则的原始版本是由Robert Stephenson Smhth Baden-Powell写的,scouting们的父亲,它是 “尽量让这个世界比你来之前变得更美好一点。”

假使在我们的代码中遵循一个相似的原则将会怎么样呢,“永远在迁入一个模块的代码时,让代码比你迁出它之前更加整洁。” 不论代码的原作者是谁。假使我们总是为提升这个模块做一些尝试,无论这些尝试有多小,这将会是一个什么样的局面呢?

我想如果我们大家都遵循这个原则,我们将会看到我们软件系统无情恶化的终结。反而,我们的系统会随着这些模块的进化而渐渐地变得更好。我们也会到团队成员们把系统当作一个整体,而不仅仅是独自关心他们各自的那一小部分。

我不认为这条原则要求过分。你不需要在迁入之前确保每一个模块都完美。你只需要简单的让它比你迁出前好上那么一点点。当然,这表示你为这个模块添加的任何代码都必须是整洁的。也表示你在迁回代码前至少清理过其中的一个地方。或许你只是简单地修改了一个变量的名称,或者把一个长的函数拆分成两个更小的函数。或许你只是打破一个循环依赖关系,或者添加一个接口把策略与细节解耦。

坦率地说,这对我来说就好像是一个普通的礼仪 - 就像上完厕所后要洗手,或者把垃圾放到垃圾箱而不是把它扔在地上。在代码里面遗留脏乱的行为真的应该像乱丢废物一样不被社会接受。它应该是那些想想就不能做的事情。

但是这还不够。关心你自己的代码是一回事,关心一个团队的代码又完全是另外一回事。团队成员应该互相帮助,互相为彼此清理代码。他们遵循小孩scout的做事原则是因为这对大家都有益,而仅仅对他们自己有好处。

生词:

intentionally

relentless

deterioration

gradually

evolved

decency

littering

indeed
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: