重复的代码开发,在作为初级的程序员是经常遇见的,因为被要求做一些很固定且比较简单通用的模块,所以很容易就遇上功能相同的代码进行重复的开发了。
1.为什么会有重复的代码
重复的代码可能会出现编写人员抽象公有模块抽象公有功能的能力,可能来自我们开发方式过于老化固定了类之间的相互应用所以导致编写的某一个功能只适用一个特定的系统使用,可能来自我们的设计人员对项目框架设计考虑不够仔细,没有重用性的设计过程。
2.怎样避免出现重复的代码
使用完善的SOA框架,我认为至少在我们内网程序开发中可以节约一大部分的工作,比如在一个大的公司里面一个文件同时会涉及到被多个领导经过多级审阅才能最终完成,所以我认为可以吧这样审阅的功能做成可以配置的服务发布在内网系统之中,只要有这样的一种思想经过长期的积累与改进,一两年之后再某一个领域的相应的服务或中间件几乎覆盖了主要的业务流程,开发人员可以像搭建积木一样的快速搭建出功能模块,开发人员的主要工作就是把页面做的更加的美观,更加的实用方便。
第二种方法就是建立主键库,把我们编码中出现的公用功能进行不断的收集封装成为dll文件每当下一个项目需要的时候可以直接进行引用该封装的中间件。
第三种方法就是在具体开发过程中无论你是实用java或C#这些语言都是支持泛型和反射的能够熟悉的使用这种编程方法可以极大的减低代码的耦合性提高代码的重用性。
以上就是从三个方面架构设计,主键库和具体编码方法中总结了避免重复代码的方法,以后再项目建设中不断优化不断完善。
3.遇到重复的代码该怎么办
但是在编程中遇到重复的代码功能不可避免的,做项目的程序员和做产品的程序员两个的理解各不一样,做项目的程序员重点不会是重构抽象让代码做的足够的精细,为什么呢?因为做项目之后再程序员主要看进度,程序员没日没夜的推进着项目功能的不断建设,他们只希望项目能够快速做完快速得到验收然后拿钱......因为他们做完一个项目就会转向做另外的项目,不断做项目他们才能有不断的收获。但是做产品的兄弟可能一辈子就投入到一两个产品之中他们的一身就是为了把一个产品做的足够的完美,所以在代码层面上要做的足够的完美,如果代码做的不仔细那没后面的维护代价都得自己来抗,有一点得不偿失,所以他宁愿功能开发推迟两周出来也要保证退出来的产品能够做到足够的稳健漂亮且令人赏心悦目。
所以在遇到重复的代码的时候应该衡量自己所处的位置评价去抽象达到代码公用的代价,找到一个衡量点然后再采取行动——消不消灭这样的重复的代码。