代码复检是很容易引起争议的东东。在众多的言论中,有一种说法是代码复检很浪费粮食,我的回答是:一边凉快去,我10秒内可以完成代码复检,连代码滚动条都不碰。且听我道来:
这是一个极端的例子,看看这个引进列表先:
消除依赖性原则 - 服务接口(UserService)和服务实现(UserServiceImpl)的同时存在说明程序的某处很可能直接生成了服务实现的对象,立马可将程序打回。
功能剥离原则 - 存储(EntityManager)和用户界面(JFrame)的同时存在说明程序将数据库功能和用户互动功能混杂,立马驳回。
面向接口编程的原则 - 从第三方引进,充满风险的ComBridge包没有在核心业务中被抽象化,打入冷宫吧。
破裂的窗户 - 假如JLabel的引进在IDE中是灰色的,没有被用到,原码编译会出现警告。在复检之前,所有的警告必须全部清除,您还是拒了吧。
好了,玩笑到此为止。我是无法在10秒内完成代码复检的。我要说的是,用一丁点的时间,你就会发现很多猪丝马迹。代码复检是用不着你献身的。我希望你会有10秒的时间,或者你会有30秒的时间!在这种情况下,你只需要瞟一下类型签名,真是手到情来啊。
原文:[url]http://hamletdarcy.blogspot.com/2009/07/10-second-code-review.html[/url]
这是一个极端的例子,看看这个引进列表先:
import com.mycompany.services.UserService;
import com.mycompany.services.UserServiceImpl;
import javax.persistence.EntityManager;
import javax.swing.JFrame;
import com.thirdcompany.COMBridge;
import javax.swing.JLabel;
消除依赖性原则 - 服务接口(UserService)和服务实现(UserServiceImpl)的同时存在说明程序的某处很可能直接生成了服务实现的对象,立马可将程序打回。
功能剥离原则 - 存储(EntityManager)和用户界面(JFrame)的同时存在说明程序将数据库功能和用户互动功能混杂,立马驳回。
面向接口编程的原则 - 从第三方引进,充满风险的ComBridge包没有在核心业务中被抽象化,打入冷宫吧。
破裂的窗户 - 假如JLabel的引进在IDE中是灰色的,没有被用到,原码编译会出现警告。在复检之前,所有的警告必须全部清除,您还是拒了吧。
好了,玩笑到此为止。我是无法在10秒内完成代码复检的。我要说的是,用一丁点的时间,你就会发现很多猪丝马迹。代码复检是用不着你献身的。我希望你会有10秒的时间,或者你会有30秒的时间!在这种情况下,你只需要瞟一下类型签名,真是手到情来啊。
原文:[url]http://hamletdarcy.blogspot.com/2009/07/10-second-code-review.html[/url]