我听过人们无数次吹嘘其他人要了解他们的工作需要多长多长时间,依我看情况正好相反。你应该吹嘘人们能够多快地理解你所写的内容。
当我看到那些能够以让别人可以简单理解的方式创造表达复杂事物的人时,我会对他留下非常深刻的印象。这需要的技能比人们想象的要多得多。
众说纷纭:
任何傻瓜都可以编写计算机可以理解的代码。优秀的程序员编写人类可以理解的代码。Martin Fowler,2008。
乔布斯:“简单可能比复杂更难:你必须努力工作才能让你的想法变得简洁。但它最终是值得的,因为一旦你到达那里,你就可以移山。“ (banq注:愚公不能移山,将复杂性简单化才能移山,这才是真正的毫毛重于泰山!)
复杂的代码永远不值得骄傲。它不会让你聪明或比别人更好。编写清晰易读的代码只是优秀程序员可以做的事情。
以“硬”的方式做事并不能证明你更聪明......
我过去曾经这样说过这样的事情。大多数情况下,它来自生存偏见。
“我写这封信的时间比平时长,因为我没时间缩短它。” - 帕斯卡尔
简单的代码很难做到。它需要清晰的思考和对问题的了解。
你如何区分简单的极简主义(没有隐藏的复杂性)和简单的抽象(易于理解但很难重新创造)?在很多情况下(但不是全部),我发现自己更喜欢极简主义而非重抽象。
少量聪明的代码也很难推理,所以我也不一定意味着极简主义。
简单心理模态的捷径可能是极简主义,但这意味着剥离宝贵的灵活性/功能。我只喜欢一致的代码(规则没有例外),可预测和熟悉。所以感觉就像一个模式。
如果你不能用简单的术语来解释某些事情, 实际上表明你自己都不明白。
我的代码太复杂了,连电脑都不懂
简单性要困难得多。因此,事情往往会汇聚成复杂的解决方案
我正在处理一个复杂的遗留系统。我总是对项目中的新人说:它很complex复杂(有很多组件,交互的),但不complicated复杂(单个组件很容易理解)。