说说代码裁剪

在编码过程中,会用到别人的写代码。有两种方式,一种是代码库集成,一种是源码集成。代码库集成是最常用的一种,官方或者第三方提供了很多高效、实用的库,使得开发效率提升了很多。采用第二种方式,往往是因为现有的库功能可用,但是不能满足开发要求。

源码集成会导致升级困难。当源码有更新时,与已经集成的源码对比差异是一件麻烦的事情。
在集成过程中,对于源码的操作无非增删改。增改暂且不提,删代码也就是代码/功能裁剪,许多人会采用注释的方式。这种方式有几个弊端:
1、代码中成片的注释,影响源码阅读体验。
2、同一个功能的注释往往牵扯多个文件,如果将来要恢复被注释的功能会非常困难。

如果用删除代替注释,在恢复代码时更加困难。

有一种更优雅的方式可以处理代码裁剪。定义一些功能开关,将需要裁剪的代码使用开关包裹。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pulic class Switch{
public static final boolean SWITCH_A = false;
public static final boolean SWITCH_B = false;
...
}

public class ClassA{

void function(){
if(SWITCH_A){
....
// something not use if SWITCH_A off
}
}

}