代码之美与搜索技巧
1. 代码之美源于简洁
代码之美有诸多来源,而简洁、优雅和精炼所赋予的美尤为突出。以下这些格言都体现了这一核心主题:
- 力求通过删除代码来增加功能。
- 设计师知道,当没有东西可添加,而是没有东西可移除时,才算达到完美(圣埃克苏佩里)。
- 在软件中,最美丽的代码、函数和程序有时根本不存在。
- 有力的写作是简洁的,省略不必要的词(斯特伦克和怀特)。
- 计算机系统中最便宜、最快、最可靠的组件是那些不存在的组件(贝尔)。
- 努力用越来越少的资源做越来越多的事情。
- 如果我有更多时间,我会给你写一封更短的信(帕斯卡)。
- 发明家悖论:更宏大的计划可能有更大的成功机会(波利亚)。
- 简单并非先于复杂,而是跟随复杂而来(佩利斯)。
- 少即是多(布朗宁)。
- 让一切尽可能简单,但不能更简单(爱因斯坦)。
- 软件有时应被视为肥皂泡(佩利斯)。
- 通过简洁来追求美。
对于程序的分析,有多种方式。其中一种是对程序进行插桩,然后在代表性数据上运行,就像示例3 - 2那样。不过,我们常常更关注程序的个别方面,而非整体。例如,在分析快速排序时,我们可能只考虑其平均使用的比较次数,而忽略其他方面。塞奇威克在《快速排序程序的分析》中研究了快速排序各种变体所需的空间和运行时的其他组成部分。通过专注于关键问题,我们可以暂时忽略程序的其他方面。
在编写代码时,小的代码片段是很好的练习场所。计算机编程是一项实践技能,我们可以通过模仿和实践来掌握。渴望编写优美代码的程序员应阅读优秀程序,并在自己编写时模仿所学技巧。在编写《编程珠玑》第二版时,我实现
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



