代码的坏味道【1】_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 代码的坏味道【1】

代码的坏味道【1】

 2017/11/13 19:03:29  NaYoung  程序员俱乐部  我要评论(0)
  • 摘要:返回总目录一、DuplicatedCode(重复代码)我们写代码的时候应该遵循DRY原则:Don'tRepeatYourself。如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将他们合而为一,程序会变得更好。1、同一个类的两个函数含有相同的表达式这时候你要做的就是将重复的代码提炼到一个单独的函数中,然后让这两个函数去调用它。2、两个互为兄弟的子类含有相同的表达式要避免这种情况,只需要将两个类的重复的代码提炼出来,然后再将提炼出来的代码推入基类中。3
  • 标签:代码

 返回总目录


一、Duplicated Code(重复代码)

我们写代码的时候应该遵循DRY原则:Don't Repeat Yourself。如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将他们合而为一,程序会变得更好。

1、同一个类的两个函数含有相同的表达式

这时候你要做的就是将重复的代码提炼到一个单独的函数中,然后让这两个函数去调用它。

2、两个互为兄弟的子类含有相同的表达式

要避免这种情况,只需要将两个类的重复的代码提炼出来,然后再将提炼出来的代码推入基类中。

3、不相干类含有相同代码

你应该将重复的代码提炼到一个独立类中,然后在两个类中调用这个新类。

相同表达式只在一个类的一个方法出现,供其他方法调用

二、Long Method(过长函数)

函数的第一规则是要短小,第二规则是还要更短小。这个断言无法被证明。也没有研究结果表明小函数更好。

但是,通常拥有短函数的对象会活得比较好、比较长。

函数到底该多长?我们来看看《代码整洁之道》的作者的一段话:

我们似乎有点偏离话题。好吧,那我们来说说,在长函数中该如何提炼?

1、寻找注释

如果代码前方有一行注释,可以将这段代码替换成一个函数,而且可以在注释的基础上给这个函数命名。

2、条件表达式和循环

可以将这两个分别提炼到独立的函数中

每个方法只做一件事,方法要定义完善、命名准确

 三、Large Class(过大的类)

1、一个类中有太多实例变量

如果想利用单个类做太多的事情,其内部往往就会出现太多的实例变量。一旦如此,重复代码就接踵而至了。

可以将几个变量一起提炼至新类内。提炼时应该选择类内彼此相关的变量,将他们放在一起。通常如果类内的数个变量有着相同的前缀或字尾,这就意味着有机会把他们提炼到某个组件内。

2、一个类中有太多代码

某些字段和方法只被某些实例用到,那就将这些字段和方法移到子类中。

每个类负责一组具有内在的相互关联的任务

 

To Be Continued...

上一篇: 天猫双11产生订单8.12亿:包裹可覆盖99个梵蒂冈 下一篇: 没有下一篇了!
发表评论
用户名: 匿名