代码简洁之道第二版
2012年8月22日,作者:Max Kanat-Alexander
六月,我发布了《代码简洁之道》的第二版修订。部分读者可能已知晓,但我认为仍需广而告之。
最重要的变化是本书现在更快地切入软件设计的法则与规则。它以完全重写的序言开篇,讲述了我如何开发《代码简洁之道》中的原则,以及您可能对其感兴趣的原因。随后是更短的第一章,将旧版第一章的内容浓缩为几页,跳过了旧的第二章(关于某物成为科学的冗长讨论),直接进入法则部分。
如果您读过原始版本,我非常希望听到您对新版起始内容的反馈!
-Max
附言:如果您从O’Reilly购买了电子书,您可以免费获得每个新修订版,而且可能还会有更多修订版!如果您从其他地方获取了电子书,书中有一个小链接可以让您以相当便宜的价格“升级”到O’Reilly版本,这样您也可以免费获得此修订版和所有未来修订版。我不偏袒任何特定获取书籍的方式,但O’Reilly版本绝对是获取新修订版的最佳途径。
评论
Kevin 说: 2014年5月22日上午9:59
疯狂至极!亚马逊发货更快,所以我选择了那条路。我喜欢电子书,但根据我读过的您的材料,我想确保我能对重点做注释。现在我在想,我应该花几块钱买两本,在等待印刷版发货时读电子书。当然,假设电子书是即时下载的。
我的书有67页,所以我一定买了原始版本。
从O’Reilly买吧,朋友们,教训 learned。——Kevin
回复
Max Kanat-Alexander 说: 2014年8月24日下午4:11
疯狂至极大学!是的,电子书是即时下载的。我认为拥有两种格式很好;我可以在手机上获取电子书,需要时展示给别人,但有时实体书对人们来说更“真实”。
我认为序言中会说明是哪个修订版。如果有注释说我删除了整个章节,那就是第二版。
-Max
总是为暴力精神病患者写代码 | Christiaan Molendijk 说: 2015年12月18日凌晨2:52
[…] http://www.codesimplicity.com/post/code-simplicity-second-revision/ […]
回复
代码简洁之道第二版 – coding | factory 说: 2018年12月22日下午6:48
[…] 更多 […]
最新分享
Max Kanat-Alexander
7月28日
非常兴奋地宣布,我将在2025年开发者生产力工程峰会上发表主题演讲之一。我将讨论什么造就了伟大的开发者体验。自1995年以来,我一直在技术领域工作,自2004年起几乎全职专注于开发者体验。关于如何使开发者体验变得伟大,有一些基本、普遍的真理,我将尽力在有限的时间内覆盖尽可能多的内容。希望能见到您。:)
阅读更多
131 11 分享
Max Kanat-Alexander
6月27日
我目前认为,AI代理能成功生成的输出数量和质量取决于:
- 模型的质量。
- 代理的质量。
- 输入的质量(如提示或其他上下文)。
- 代理能独立运行的确定性、客观验证的质量。
我目前认为,除非您是模型开发者,否则最重要的部分是“确定性、客观验证”。
简单来说,如果您告诉AI做某事,它需要某种方式能够自行验证它做对了。在软件中,这通常意味着运行测试、linter等,如果系统做错了就会失败。
这意味着您的测试和验证工具越好,从模型获得的输出就越好。这不只是测试数量的问题。它们必须是好的测试,具有智能断言和良好的错误消息。
这也意味着代理的成功涉及如何将任务分解为可被自动化测试、linter等客观验证的单个部分。
作为备注,输入的质量也很重要,并且在我们的控制之下。如果我们编写更好的文档和更清晰的代码,代理会表现得更好。令人惊讶的是,几乎一切帮助人类编写代码的东西也帮助代理。
阅读更多
25 10 分享
Max Kanat-Alexander
6月4日
技术债务有价值的想法大多是个神话。当您做出糟糕的软件工程决策时,它会在几小时、几天或几周内拖慢您。那是上限。许多人认为需要数月或数年才能看到在软件设计上偷工减料的影响,但那根本不真实。它几乎立即开始。做正确事的成本通常是几小时,也许一天,而且您几乎总是立即收回那段时间。也就是说,做对事通常花费与做错事相同的时间。“等等,什么?怎么可能?我们偷工减料是为了节省时间!”结果几乎总是它根本不会节省您的时间!它使处理变更更加混乱。它使代码审查更长。它在测试中以更混乱的方式失败,需要更长时间调试。它几乎从未节省您实际时间。
偶尔,您的路径中有一些“巨石”如此巨大,您根本无法移动它。没有人应该花三个月设计一个新工具,只是为了交付一个一次性的、一天的功能。但那是技术债务决策中极小、极小的一部分。
这变得更疯狂,因为如果您在过程中做对一切(您总是重构系统,使其看起来像是设计来做现在正在做的事情),那么一切在整个过程中都保持相对容易。但如果您偷工减料,一切会变得复合性地更困难,以至于您生成没人能移动的“巨石”。复杂性不是某种线性事物,您可以后来投入线性时间修复。您绝对可以使自己陷入如此糟糕的境地,以至于公司中没有人有时间或专业知识来修复它。
这一切感觉如此无辜:“让我们偷工减料吧,它会帮助我们满足这个截止日期”(一个通常是虚构的截止日期,您可以推迟几周而没有任何后果)。“很难弄清楚如何做对,我们能推迟吗?”然后砰,很快您发现自己陷入沼泽,一切都很困难,“我们不知道为什么!”
我留给您最后一件事:当我每天直接编码时,我在这方面完全 uncompromising。我基本上无法忍受糟糕的代码——我必须重构它,否则无法工作。不知何故,在我整个职业生涯的那部分,我从未错过一个截止日期。
阅读更多
129 42 分享
Max Kanat-Alexander
5月30日
我估计,每看到或被告知一万条坏建议,我才收到一条好建议。互联网充满坏建议,因为文明充满坏建议。文明充满坏建议,因为全球的教育大多不教人们思考、研究或确定什么是真实的。相反,它教人们记忆和重复事实,其中大多数不重要、不真实或无用。
所以总的来说,我们不应惊讶互联网(尤其是社交媒体)充满不重要、不真实或无用的信息。并非全部如此——我在网上学到了大量非常有用的东西。有大量有价值的内容。我会说,人们对事物的意见,无论是在报纸、博客文章、论坛还是其他什么地方,很少具有那种价值。
那么,要点是什么?嗯,最好有某种方式在开始依赖或向他人重复某事之前确定它是否重要或有用的。最简单的工具是说:“它有效吗?”这条数据可靠地帮助您完成某事吗?它100%有效,还是更少?
对于许多帖子,您会发现:这些数据根本无助于您做任何事。
阅读更多
24 9 分享
加载更多
© 2025 版权所有。由 The Fox 提供技术支持。