哈Ha!
我提请您注意罗伯特·C·马丁(鲍勃叔叔)的文章“
太干净了? ”的翻译。

我刚刚看过
莎拉·梅 (
Sarah May)的演讲:
可行的代码 。 那很好。 我完全同意她讲话的要点。 另一方面,她演讲的主题是我以前没有适当考虑过。
但是在我开始之前,我已经挑剔了。 在演讲的某个时刻,她批评了大师们的动作,因为它过于关注个人而不是团队行为。 不幸的是,这是手工艺品运动的错误特征,一直以来都专注于创建专业和道德团队。
在这种情况下,软件系统应该“宜居”的想法是一个有趣的见解。 根据May的说法,为了“宜居”,软件系统的组织必须介于极端的令人困惑的代码存储混乱和室内杂志和房屋销售手册的页面上所看到的防腐纯净之间。
这不是我以前考虑或表达的。 尽管那总是我害羞的练习。
系统可以清洁吗? 是否有可能将注意力集中在清洁度上,以至于实际上没人能在系统中工作?
这是我今天办公室的照片。 你看到了什么?

比较干净。 这是一个明确的组织。 您可以看到我的工作场所,中间有一台笔记本电脑和两个屏幕。 您也可以在右侧看到我的飞行模拟站。 有篮子,盒子和所有通常的组织属性。
但是周围也有些混乱。 打印机的最左端是BUG-A-SALT,它可以应付入侵的苍蝇。 一卷厕纸在右边的塔迪斯(Tardis)顶部,透过最右边的屏幕窥视。 万一我倒咖啡或想打喷嚏。 你能找到微调器吗? 看到左边的一堆绘图工具了吗? 所有这些贴纸,照片和……该怎么办?壁橱中所有这些孔内的世界又如何?
办公室的整洁和组织使其可用。 我知道所有东西在哪里。 而且我知道如何访问它们。 不相关的元素不会互相干扰。 没有不必要的依赖关系。
办公室有点乱是有帮助的。 这种失调是由于暂时的问题。 苍蝇,咖啡,打喷嚏,涂鸦,闲暇时光,改变工作重点以及只是放置一些我不知道该怎么办的地方。 没有这种混乱,对我来说使用工作场所将更加困难。 下次使用办公室又会造成混乱!
所以很明显,我有点混乱了。 这种混乱解决了暂时的问题。 但也很明显,我正在努力控制这一混乱状况。 我为办公室的清洁而战。 而且这并不容易!
此规则适用于代码吗? 绝对是这样! 在编写代码时,我会尽力保持其清洁。 但是在某些地方,我恰好违反了规则,因为这些违规行为使得解决临时问题成为可能。
例如,我非常努力地将演示者与视图分开。 将数据以可呈现形式放置的代码不应位于在屏幕上显示该数据的代码的旁边。 另一方面,当您尝试使屏幕外观和功能正常时,很难在两个不同的文件之间切换。 有时,重新组合代码,以您喜欢的方式获得一切,然后重新拆分代码才有意义。 这种技术被称为“更好”。
无论如何,我认为代码应该是可使用的。 如果我们的代码看起来有些填充,我们不应该感到羞耻。 另一方面,我们必须谨慎地进行自我监控,以防止疾病逐渐失控。