<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>复杂性 on AxerZone</title><link>https://enchanting-vacherin-946011.netlify.app/tags/%E5%A4%8D%E6%9D%82%E6%80%A7/</link><description>Recent content in 复杂性 on AxerZone</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>© 2026 Weiming</copyright><lastBuildDate>Mon, 18 May 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://enchanting-vacherin-946011.netlify.app/tags/%E5%A4%8D%E6%9D%82%E6%80%A7/index.xml" rel="self" type="application/rss+xml"/><item><title>重读 Fred Brooks：没有银弹</title><link>https://enchanting-vacherin-946011.netlify.app/posts/fred-brooks-no-silver-bullet-notes/</link><pubDate>Mon, 18 May 2026 10:00:00 +0800</pubDate><guid>https://enchanting-vacherin-946011.netlify.app/posts/fred-brooks-no-silver-bullet-notes/</guid><description>&lt;p&gt;作者：Fred Brooks&lt;/p&gt;
&lt;p&gt;原文链接：&lt;a href="https://cse.msu.edu/~cse814/Readings/no-silver-bullet.pdf" target="_blank" rel="noreferrer"&gt;No Silver Bullet&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Fred Brooks 的《No Silver Bullet》是软件工程领域最重要的文章之一。它讨论的问题到今天仍然存在：为什么软件开发很难？为什么新语言、新工具、新方法、新流程总是承诺巨大提升，却很少真正消除软件项目的根本困难？Brooks 的答案是，软件复杂性分为本质复杂度和偶然复杂度。工具可以减少偶然复杂度，但很难消灭本质复杂度。&lt;/p&gt;
&lt;p&gt;这篇文章适合每个程序员读，尤其适合在技术热潮中读。每隔几年，行业都会出现新的“银弹”：可视化开发、面向对象、微服务、低代码、云原生、区块链、AI 编程助手。它们有些确实有用，甚至非常有用，但如果把它们想象成能自动解决软件工程困难的魔法，就会重演 Brooks 批评的错误。&lt;/p&gt;

&lt;h2 class="relative group"&gt;本质复杂度来自问题本身
 &lt;div id="本质复杂度来自问题本身" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%9c%ac%e8%b4%a8%e5%a4%8d%e6%9d%82%e5%ba%a6%e6%9d%a5%e8%87%aa%e9%97%ae%e9%a2%98%e6%9c%ac%e8%ba%ab" aria-label="锚点"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Brooks 所说的本质复杂度，来自软件要表达现实世界的复杂需求。软件不是重复制造同一个物理零件，而是在不断描述规则、状态、边界、例外、协作和变化。一个业务系统难，不只是因为代码难写，而是因为业务本身有很多相互牵制的概念：权限、流程、异常、历史数据、用户习惯、组织责任、法规约束、性能要求。&lt;/p&gt;</description></item></channel></rss>