开发者生态
evening
坚实而干净的代码对我来说从来没有感觉到坚实或干净
2026-07-01
1 阅读
约5分钟阅读
DanielVZ
字号:
坚实和干净的代码对我来说从来没有感觉到坚实或干净 发布于 2026-07-01T00:00:00Z Daniel 我通过在线文档和项目学会了编程。我也读书,但我不认为它们对我的编程或软件工程职业生涯至关重要。我读过的一些书是: 设计数据密集型应用程序:非常好的书。神话般的人月:感觉已经过时,但对于理解这个行业的来源很有用。设计模式、可重用面向对象软件的元素:我不太记得了。我认为我读这本书还为时过早,无法完全掌握所有模式,但至少它让我对设计模式、干净代码有了一个大致的了解:这本书感觉像是来自高级工程师的一堆建议,但其中大部分都不是可验证的好建议。作为一个局外人,它至少让我意识到我必须意识到我的代码将会被阅读。有一天,一位面试官问我有关设计模式和 SOLID 原则的问题。我开始谈论我从《四人帮》这本书中学到的东西,但他阻止了我,并说他的意思是“坚实的原则”,并且他不确定我在说什么。现在回想起来,我知道他只是在阅读标题,对这个话题不太了解,但我让那次采访感到困惑。于是我在谷歌上搜索了 SOLID 原则,找到了一个视频,这个“鲍勃叔叔”在介绍中花了很大一部分时间谈论水分子,然后花了 10 多分钟来解释新程序员的速度不断翻倍,只要这种增长速度持续下去,一半的工程师将永远缺乏经验。然后,在演讲整整 20 分钟后,他开始真正的介绍,解释说糟糕的代码会减慢你的速度(不是狗屎,Sherlock),代码僵化,耦合性很差,只有 30 分钟才真正进入主题。几乎一半的演讲本来可以在 5 分钟内完全解释清楚。我来自哪里 大约在那个时候,我正处于学习历史的第三年。我每周必须读写数千页。我了解到并不是每个人的写作风格都相同,不同的学科有不同的写作风格。如果你在写历史,那么你就应该隐含地遵循一定的结构和词汇,对于其他人文和社会科学也是如此,我认为对于硬科学也是如此。我将它们视为文化规则,这些规则是从阅读彼此的作品中产生的,直到出现某种写作文化。因此,为了获得好成绩,我会尝试模仿我的教授和他们喜欢的作者的论文写作和调查风格。我开始感觉到我在读什么样的作者,他们的写作有多密集,节奏,以及他们如何将叙述与论证结合起来。另外,由于我不会在这里解释的原因,到那时我已经非常仔细地看到了大约 4 或 5 个成功的骗局/骗局。就像在骗子发生时,实际上无助地在骗子和受害者身边呆了几个月。所有这些都表明我已经形成了一种理解人们如何写作和说话的感觉。为什么这听起来像是一个骗局?并不是要不尊重“鲍勃叔叔”,但他所写和所说的一切都让我觉得我被骗了,同时试图说服我这是一个天才程序员的谈话/写作。首先是“鲍勃叔叔”这个绰号,它有这样的背景故事:需要澄清的是,“鲍勃叔叔”这个名字是 1989 年一位同事给我起的。多年来,这个名字一直出现在我的电子邮件和 uunet 签名中。 (有些孩子不知道 uunet 是什么)。这个名字被保留了下来,我最终采用了它作为一个品牌。 – Robert C. Martin,https://news.ycombinator.com/item?id=7713646 这是一个不错的解释,但这并不能改变这样一个事实:对于那些试图建立可靠高级工程师品牌的人来说,这个名字仍然让人感觉具有操纵性。顺便说一句,当然有些孩子不知道 UUNET 是什么。我们明白了。您是一位“经验丰富”的程序员。工程师倾向于认为他们是能够看到客观事实的公正机器,但如果说我在研究历史时学到了什么的话,那就是能够努力保持客观的唯一方法就是接受你是一个主观的人这一事实。你越客观,你就越容易被主观性所操纵,无论是你自己的主观性还是他人的主观性。事实上,我的同事们亲切地谈论“鲍勃叔叔”,就好像他是一位真正明智的叔叔一样,并引用他来为一些复杂的依赖注入恶作剧辩护,这让我所有的操纵感都消失了。然后我们就有了他使用的实际散文。正如我之前所说,他的风格过度依赖于填充内容。当然,这不仅仅是随机的填充内容。他可以一边挠着下巴一边自信地说出这些话,到处讲个诙谐的笑话,在这个过程中看起来很聪明。如果我的大学教授发现我这样写,他们会因为浪费时间而扣分。
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱