读《简约之美 软件设计之道》

书籍信息

中文书名: 简约之美:软件设计之道
英文书名: Code Simplicity: The Science of Software Design
作者: [美]Max Kanat-Alexander
译者: 余晟

阅读感悟

  • 软件是必然要变化的,变化是常态;有变化就需要维护,随着时间的推移,维护成本会远远超过初期开发的成本,占据成本的大头;因此,在软件开发中,最重要的是要降低维护成本;维护成本正比于系统的复杂程度,所以要降低维护成本,系统的设计就应当追求简单清晰。维护成本应包含实施成本
  • 好程序员与差程序员的区别在于理解能力,差程序员不理解自己做的事情,优秀的程序员则相反。信不信由你,道理就是这么简单。
  • 在设计决策中,实现成本通常并不是重要的因素,所以基本可以忽略。相比降低实现成本,降低维护成本更重要。
  • 软件设计的三大误区
    • 编写不必要的代码。总以为将来会用到,实际上只会带来困惑与BUG。
    • 代码难以修改。首要追求简洁,不能简洁则保证一致。
    • 过分追求通用。通用则带来复杂。
  • 避免重复。理想情况下,任何系统里的任何信息,应当只存在一次。
  • 需要避免的八件事
    1. 扩展软件的用途。软件应明确自己的用途,并坚守自己的用途,然后实现它
    2. 新增程序员。人月神话里说的就事这个事,增加程序员反而会降低效率
    3. 做无谓的改变。谨慎决策
    4. 困于糟糕的技术。果断抛弃糟糕的技术:过时的、无人维护的、让软件变得复杂的
    5. 理解错误。程序员不理解自己的工作,就会做出复杂的甚至错误的实现,带来恶性循环
    6. 糟糕的设计或不做设计。没有考虑到如何应对可能的变化
    7. 重新发明轮子。
    8. 背离软件原来的用途。避免镀金