[Effective Java] Note: - Chapter-1-1: Introduction

 

清晰简洁,和模块化,是编程艺术中,为数极少的战略性原则中最重要的两条。

战略性指导原则

编程的战术性技巧可以有很多,但比这些技巧更高一个层面的根本性原则不会太多。这里Joshua Bloch提了两条。

清晰性,简洁性永远是最重要的

对一段程序来讲,比能运行更重要的是 能让人看懂 。工程级的代码,尤其如此。

一定要记住,程序里的每一个字符,包括变量名称,方法名称,参数名称,都是比注解更加有力的描述程序行为的工具。

模块化

人的智力是有限的。要能处理大量的代码,唯一的方法编写模块化的代码。在同一时刻只关注其中的一个模块。

模块化是为了重用

DRY (don’t repeat yourself) 原则是一个专业程序员的基本素养。不要拷贝代码,而是重用已有代码。

模块尽可能地小

模块的粒度应该以重用的灵活性为指导原则。不能一味地追求小,但一个基本的客观规律是:比较小的模块更灵活,更容易重用。我们必须尊重客观规律办事。

模块间的耦合要尽可能的小

一个设计良好的模块的客观标准就是:可以随意组合,即插即用。一个很好用的给模块解耦的技术叫做:控制反转(IoC, Inversion of Control)。这是极少数的比大部分设计模式都重要的设计原则。