【《代码整洁之道》精读与演绎】之五 整洁类的书写准则


这篇文章将与大家一起聊一聊,书写整洁类的一些法则。

 



一、引言



以下引言的内容,有必要伴随这个系列的每一次更新,这次也不例外。

 

 

但我们知道,很多时候,理想很丰满,现实很骨感,也知道人在江湖,身不由己。因为项目的紧迫性,需求的多样性,我们无法时时刻刻都写出整洁的代码,保持自己输出的都是高质量、优雅的代码。

 

但若我们理解了代码整洁之道的精髓,我们会知道怎样让自己的代码更加优雅、整洁、易读、易扩展,知道真正整洁的代码应该是怎么样的,也许就会渐渐养成持续输出整洁代码的习惯。

 

而且或许你会发现,若你一直保持输出整洁代码的习惯,长期来看,会让你的整体效率和代码质量大大提升。

 



 

 

 

这个类非常内聚,在三个方法中,仅有size()方法没有使用所有的两个变量。

注意,保持函数和参数短小的策略,有时候会导致为一组子集方法所用的实体变量增加。我们应该尝试将这些方法拆分到两个或者多个类中,让新的类更为内聚。

 



5 有效地隔离修改


需求会改变,所以代码也会改变。在面向对象入门知识中我们学习到,具体类包含实现细节(代码),而抽象类则呈现概念。依赖于具体细节的客户类,当细节改变时,就会有风险。我们可以借助接口和抽象类来隔离这些细节带来的影响。

 

举个栗子,在一个设计场景下,我们以其设计直接依赖于TokyoStockExchange的Protfolio类,不如创建StockExchange接口,里面只声明一个方法:

接着设计TokyoStockExchange类来实现这个接口:

我们还要确保Portfolio的构造器接受作为参数StickExchange引用:

那么现在就可以为StockExchange接口创建可以测试的实现了,例如返回固定的股票现值。比如测试购买5股微软股票,我们下面的实现代码返回100美元的现值,然后再实现一个总投资价值为500美元的测试,那么大概代码则是:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年7月24日
下一篇 2016年7月24日

相关推荐