今天又被代码蹂躏了一整天,继续昨天的话题!
8、代码的copy,从一个类到另一个类,或者从一个方法到另一个方法(好像for循环copy的比较多一些,我也经常这么用),也许copy来之后可以直接用也许要经过些许修改;
注:《effective java》中提到:for循环代码的copy往往是错误的根源,其主要原因是copy来的循环变量可能存在潜在的问题!《practical java》中讲:删除不必要的代码包括方法和值域,让你的程序更具有可读性!
考核管理项目中存在大量的垃圾代码,几乎每一个类都存在同样的无效代码(eclipse会清晰的告诉你哪些值域和方法从来没有调用过),显然是哪位仁兄每一个类都是在其它代码基础上修改而来,从而把垃圾也一并带进来!
如果确实要copy,请在copy完之后细细检查,另外确保copy过来的代码都是有用的,否则请把不必要的代码删除,当然也包括从其它类带过来的值域。还有,如果你copy来的代码不需要经过任何修改,请考虑把它们组织成一个单独的类,让使用者来调用,这样不但可以减少代码量,也更具有可读性!
9、临时变量的定义,大量的临时变量的出现,而且没有很好的命名规则,这往往让我不知所措;
注:《refactoring》告诉我:用方法来取代临时变量(replace temp with exact method),如果没有必要或因为局部变量的原因无法exact method请给临时变量一个恰当的命名!
考核管理项目中存在大量的临时变量,即使有很好的命名我仍然不愿意去读它们,除非万不得已,请不要用临时变量,如果确实要用请给它寻一个恰当的名字(勿用temp)!例如:对于只使用一次的方法,我可以这样new Object().getMethod()调用;