java特训第一课

软件健身操——九步迈向优秀软件设计

  1. 方法只使用一次缩进

    使得代码逻辑更加清晰,代码的可读性增强。越大的方法越缺少内聚性,通过编译器的抽取功能,可以对方法进行提炼,直到方法中只有一次缩进。

  2. 不使用else关键字##

    else语句会使得程序逻辑看起来更加复杂,形成更深层的逻辑关系,通常对于简单的else语句使用卫语句或提前返回来去掉else语句。

  3. 封装所有的原生类型和字符串

    整数,只代表一个数量,并没有实际的意义,我们需要对整数进行封装,使它变得更有意义,让代码通俗易懂。

  4. 一行代码只有一个“.”运算符

    如果一行代码中有多个“.”运算符,那就说明很多类的职责就搞混了,假设我们去电影院付钱,我们自己掏钱包给收银员钱即可,如果抽象成多个“.”的情况,就是收银员拿着我们的钱包去付钱,这明显不符合常理。封装的含义就是不要让当前类跨入它不知道的类型中。而像java中字符串处理的一些类,他们通常使用的是bulider模式,即每一次“.”运算都会返回自身,因此不存在其他类的参与,所以并不会违反此条规定。

  5. 不要使用缩写

    起名字时尽量使用全拼,提高代码的可读性,方便阅读

  6. 保持实体对象简单清晰

    超过50 行的类所做的事情通常都不止一个。这会导致他们难以理解和重用。这意味着每个类的长度不能超过 50 行。每个包所包含的文件不超过 10 个。

  7. 任何类中的实例变量都不要超过两个##

    将一个对象从拥有大量属性的状态,解构成分层次的,相互关联的多个对象,会直接产生一个更实用的对象模型。将一个复杂的大的对象,分解成多个简单的对象。可以将实例变量按照相关性分离在两个部分中;可以创建一个新的对象来封装两个已有的实例变量。

  8. 使用一流的集合

    集合的概念应该是一类实例的集合。比如,定时器对象的集合——包括所有的定时器。我一般是放在定时器类中,然后使用static 来表示集合。看了这个方法要改一下了。任何包含集合的类都不能再包含其他的成员变量。每个集合都被封装在自己的类中。集合其实是一种应用广泛的原生类型。

  9. 不要使用任何Setter、Getter、Property

    要从询问,改变成命令。Geter/Setter/Proerty会对对象的封装性找出破坏。在严格封装的边界背后,真正的动机是迫使程序员在完成编码后,一定要为这段代码的行为找到一个合适的位置,确保它在对象模型中的唯一性。这样可以减少重复性的差错,以及在添加新特性的时候,可以在一个更合适的位置引入变化。

转载于:https://my.oschina.net/u/3226414/blog/1528202

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值