2016-4-25:软件模块的3项职责.md

“大千世界中,唯一缺乏的就是人类的注意力。”——凯文•凯利
要使软件易于阅读和修改,所需要的不仅仅是一些原则和模式。还需要你的注意力,需要纪律约束,需要创造美的激情。

每一个软件模块都有三项职责。

  1. 功能职责(是否完成了功能?)
    它运行起来所完成的功能,这也是该模块得以存在的原因。

  2. 变化职责(是否能够应对变化?)
    它要应对变化,几乎所有的模块在它们的晟敏周期中都要变化,开发者有责任保证这种改变应该尽可能简单。一个难以改变的模块是拙劣的,即时能够工作,也需要对它进行修正。

  3. 交流职责(换一个人,是否可读?)
    要和阅读它的人进行沟通。对该模块不熟悉的开发人员应该能够比较容易地阅读并理解它。一个无法进行沟通的模块也是拙劣的,同样需要对它进行修正。

小知曰:好的模块一定是符合“开放封闭原则(OCP,Open Closed Principle)”的,即:对扩展是开放,而对修改是封闭。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,548评论 25 709
  • 我看见 残阳里有两三座炊烟, 也不小心听见风里 四五声雁啼。 笔直的水泥路上 有六只水牛蹒跚着。 我不是一个人, ...
    妖菲阅读 1,072评论 1 1
  • 笛声悠悠,柔情碎。 惊鸿一瞥,心已醉。 荷花伞下,见红颜。 枯树洞内,终身定。 月儿弯弯,心亦知。 千山冰雪,为卿...
    vark纤上陌尘阅读 3,526评论 0 1
  • 晚间打卡 2016/09/07 ,8/70 “ 老师您在学校吗?” "在,今晚督班,21:40分...
    婉琳阅读 3,064评论 2 2
  • 一本书,一段思考,一种心得。 《我喜爱一切不彻底的事物》,的确有一副青春的派头。 想看的风景很多,想体验的人生也有...
    艽艽艽艽阅读 1,535评论 4 6

友情链接更多精彩内容