• 程序员修炼之道---读书随笔2


         熵是一个来自物理学的概念,指的是某个系统中的“无序”的总量。当软件中的无序增长时,程序员们称之为“软件腐烂”(software rot)。

    有许多因素可以促生软件腐烂。其中最重要的一个似乎是开发项目时的心理(或文化)。

         不要留着程序中的“破窗户”不修,低劣的设计,临时的糟糕的方案等等。而往往我们又面对着诸多的“现实”,没时间重构,重构风险大没资源测试。

    可是我们会永远生活在“现实”里面,不可能有某一天万事具备、良辰吉日等着让你开始着手去修理这些“破窗户”。

         我们可以借助自动测试等手段来帮助我们降低风险。如果真的没办法立即修复,请一定要做到:把发现的“破窗户”记入TODO List,并且定期Review它。

    他是一个富得让人讨厌的富翁,拥有一所完美、漂亮的房子,里面满是无价的古董、艺术品,以及诸如此类的东西。

         有一天,一幅挂毯挂得离他的卧室壁炉太近了一点,着了火。消防人员冲进来救火——和他的房子。

    但他们拖着粗大、肮脏的消防水管冲到房间门口却停住了——火在咆哮——他们要在前门和着火处之间铺上垫子。

    这的确是一个极端的事例,但我们必须以这样的方式对待软件。如果你发现你所在团队和项目的代码十分漂亮——编写整洁、设计良好,并且很优雅——你就很可能

    会格外注意不去把它弄脏,就和那些消防员一样。即使有火在咆哮(最后期限、发布日期、会展演示,等等),你也不会想成为第一个弄脏东西的人。

    给予计算机两项自相矛盾的知识,是James T. Kirk舰长(出自Star Trek,“星际迷航”——译注)喜欢用来使四处劫掠的人工智能生命失效的方法。

    遗憾的是,同样的原则也能有效地使你的代码失效。

         我们觉得,可靠地开发软件、并让我们的开发更易于理解和维护的惟一途径,是遵循我们称之为DRY的原则:系统中的每一项知识都必须具有单一、无歧义、权威的表示。

    重复是代码中最坏的味道,大家可以回想一下,有多少Bug是因为重复代码漏改引起的,修改重复代码又浪费了多少时间。这么坏的东西一定要深恶痛绝!

    书中归纳了常见的重复类型:

    强加的重复(imposed duplication)。开发者觉得他们无可选择——环境似乎要求重复。

     

  • 相关阅读:
    css布局
    常用正则表达式
    读书笔记Hadoop实战1
    C++ IDE for Linux
    由计算机的锁是怎么实现的
    pthread
    转:C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
    PyDev Python 开发的IDE
    转:C++反汇编揭秘1 一个简单的C++程序反汇编解析
    如何查找命令对应的软件包
  • 原文地址:https://www.cnblogs.com/yuji5656/p/4453969.html
Copyright © 2020-2023  润新知