C#方法封装与重构

时间:2023-03-09 08:20:25
C#方法封装与重构

C#作为一个完全面向对象的语言,有个特性很重要但是往往会不重视,而不重视的结果就会造成代码杂乱难以解读、维护。这个特性就是封装。

     这里不是大谈C#的封装,我只讲一个,关于方法封装的一些问题。
     方法可以说是类或者对象的一些业务逻辑,那在什么情况下需要封装成方法呢:
  1. 功能相对独立
  2. 多处复用
  3. 一个方法体过于冗余或者实现逻辑过多
  4. 公开处理内部数据接口(也可以用属性)
     如果满足上面的任何一个条件,就可以考虑封成独立的方法了,这里又涉及到一个概念——重构。好的代码都是重构出来的,没有谁能一步登天(起码我们这些小菜鸟做不到)。代码的杂乱很大一部分原因是由于作者的思维、逻辑混乱,复杂的问题简单化了,或者简单的问题复杂化了。所以重构的第一步是要理清自己的逻辑,逻辑清楚了,算法自然就出来了,接下来做的就是把算法用代码实现的问题了。
     对于重构有个原则:需而为之,不需而不为。重构也不尽然都是好,毕竟一开始的想法很有可能是相当不错的,如果要推翻,得有充足的理由,所以,重构也是有成本的,很可能又引入一些新的bug也难说。就我个人而言,是个比较喜欢折腾的熊孩子,顶多折腾了半天回到原点,不过折腾多了也会有些门道的。建议大家多折腾,丑话说在前头,折腾前做好备份~
     这里也说一下对方法的要求,当然是整洁的方法要求:
  1. 短小,尽量不要超过一屏
  2. 独立,一个方法只做一件事
  3. 方法名要见名知意、风格一致,前者让人一看就知道方法做什么,后者别人可以推断这个函数的作用
  4. 参数不要超过3个,超过的话就提取为对象
     这里参考了http://www.cnblogs.com/oec2003/archive/2012/05/13/2741989.html,大家也可以去看看。
  另外,大家在方法封装上有什么心得或者必杀技也可以留言晒晒。