绿化草坪品种哪个好?

小说:绿化草坪品种哪个好?作者:辛徒建更新时间:2019-04-21字数:63857

但二人并没有就此停止今天的工作,稍一休息后,二人又重整旗鼓地开始加紧奋战。

紫藤11月可以移栽吗?

在听到七龙珠的时候,叶扬便是有了目标了。自然是要去曰本找一下《七龙珠》的作者了。这作者既然能够创作出这部漫画,就说明他绝不只是自己在凭空捏造,而是知道少许的事情。不管他知道多少,只要有一丝一毫那也是收获了。
这友还说了,上泛滥的“宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒”一句,就出自《小窗幽记》。

胡商们愤怒了,他们不停在〖广〗场上高喊:“还我税钱!。。手中挥舞着税单。但市舶司的大门依然紧闭,没有任何人出来答复。


返回总目录


十四、Temporary Field(令人迷惑的暂时字段)

1、某个实例变量仅为某种特定的情况而设

2、某些实例字段仅为某个函数的复杂算法少传参数而设

将这些变量和相关函数提炼到一个独立的类中。

十五、Message Chains(过度耦合的消息链)

如果你看到用户向一个对象请求另一个对象,然后再向后者请求另一个对象,然后在请求另一个对象……这就是消息链。

实际代码就是一长串的getThis()或者一长串临时变量。

使用隐藏“委托关系”(这个后面会讲)来进行重构。当然了,可以在消息链的任何位置运用。

十六、Middle Man(中间人)

过度运用委托。

1、某个类接口有一半的函数都委托给其他类,这时应“移除中间人”:让客户直接调用委托类。

2、如果只有少数几个函数,那就直接调用

3、如果中间人还有其他行为,以继承取代委托,让委托类继承受托类。

十七、Inappropriate Intimacy(狎昵关系)

两个类过于亲密必须拆散。

1、可以提炼一个类,将两者的共同点提炼到这个类中。

2、可以去掉类之间不必要的关联。

3、将继承改为委托,把子类从继承体系移出

十八、Alternative Classes with Different Interfaces(异曲同工的类)

两个函数做同一件事,但是签名不同。将两个函数合并,并根据用途重新命名。

十九、Incomplete Library Class(不完美的类库)

类库函数构造的不够好,又不能修改它们

1、如果只想修改类的一两个函数,可以引入外加函数。

2、如果想要添加一大堆额外行为,建立一个新类包含这些额外行为,让其成为子类。

二十、Data Class(纯稚的数据类)

所谓Data Class:类只有一些字段,以及访问这些字段的函数。

1、如果拥有public字段,则将其封装起来

2、如果拥有集合类字段,则将其封装起来

3、对于不能修改的字段,去除set方法

二十一、Refused Bequest(被拒绝的遗赠)

派生类仅使用了基类很少一部分成员函数

如果子类复用了父类的行为(实现),却又不愿意支持基类的接口,那就使用委托替代继承。

二十二、Comments(过多的注释)

常常有这种情况:一段代码有着长长的注释,而这些注释之所以存在是因为代码很shit。

这时候我们可以先找到各种“坏味道”,然后重构它。

当你感觉需要撰写注释时,请先尝试重构,试着让所有的注释都变得多余。

记得有一句话是这么说的:注释的最高境界——代码即注释。

当然了,这也不是说,我们不应该写注释。只是注释要写对地方。

小结

到这里所有的“坏味道”已经讲完了。平常我们在写代码的时候,一定要注意这些坏味道。

“如果尿布臭了,就换掉它”。这句话同样适用于我们的代码。

“代码的坏味道”的系列文章主要是对常见的22种坏味道的了解和熟悉,以促使我们在开发过程中,能够经常性地分析和思考程序,寻找已经散发出坏味道的地方并对其进行适当重构,使得代码更加“漂亮”。

在后续的文章中,我会介绍一系列的重构手法来消除这些坏味道。

 

  To Be Continued...

编辑:成通宗

发布:2019-04-21 00:00:00

当前文章:http://www.cnsdbtzg.com/ask/question_16996.html

爬山虎可以做成哪些造型盆景 50公分红叶小檗多少钱一株? 美人蕉苗能栽吗? 花环菊的种子哪里能买到? 白三叶与红三叶有什么区别? 草坪有哪些品种? 非洲菊和格桑花的区别是什么? 草本花卉播种在什么时期?

44262 49082 85648 85880 24638 49583 37202 32119 15789 64098 63140 82936 10297 80461 56680 46570 39204 78834 92760 42496

我要说两句: (0人参与)

发布