最近一直忙于开发与维护之间,往往是一个个小应用刚完成,又要维护新提交的Bug。总感觉自己的时间不够用,想抽点时间来处理点最近的安排,可还得忙于维护代码。特别是在这周中,遇到了一个新需求,就是文件统一的处理方式,原先只有FTP文件方式处理,后来要加个新需求,可以支持本地存取的方式。虽说不是很难,也就是在代码中添加几个if-else判断,再加几个有关本地处理的函数。代码测试,代码提交,自己也没过多去考虑设计方面的东西。其实自己一开始就没仔细去看里面的实现,想着加入自己的新功能就可以啦。后来组长说里面saveFile,deleteFile,downloadFile等中有许多类似的判断结构,if-else也有三层左右,应该考虑重构一下。
这不由得想起了以前看过的一个书《重构 改善既有代码的设计》,现在自己遇到的情况不是与里面的例子很相似吗?于是自己将里面一些类似代码抽出来,重新设计了两个处理类和一个工厂方法。这下基本上算挺完美了,也符合软件设计的开闭原则。如果以后加入其它处理方式也是挺容易。
从这件事中也反映出,程序员都不太愿意去读已有的代码,维护它们。他们宁愿去做开发,重新写新的代码。其实这背后揭示的一个编程规范,统一的代码风格,代码重构等问题。如果你想做一个优秀的程序员,这些都是你必须去面对的问题。如果连自己的代码都写的不规范,不愿去重构,提升代码的质量,你难道还希望别人帮你擦屁股吗??其实这些问题一直都在的脑子中浮现,从上一个公司到这个公司,代码规范程度上有了一些提高,主要是由于代码生成工具生成基本的数据库操作代码,在此基础上再修改,文档方面做的还是不行。也由此引起自己对这些问题的再一次深思。
这方面需要自己去面对的,先要从代码规范,Code Review. CheckStyle,Findbugs等方面入手,也要为以后项目的管理打下基础。基本理论知识的学习,加上辅助工具,这方面还有许多东西要学的。