美做天然居家居网站,百度做广告怎么收费,网站开发与程序开发,珊瑚绒毯移动网站建设由于现在的互联网企业业务比较繁忙#xff0c;导致产品狗不停地提需求#xff0c;还总是改来改去#xff0c;最后留给程序猿的时间少之又少。程序猿也不是吃素的#xff0c;干脆直接copy一下代码随便搞一下实现功能就行#xff0c;也谈不上所谓的精心设计了。这样的确是缩… 由于现在的互联网企业业务比较繁忙导致产品狗不停地提需求还总是改来改去最后留给程序猿的时间少之又少。程序猿也不是吃素的干脆直接copy一下代码随便搞一下实现功能就行也谈不上所谓的精心设计了。这样的确是缩短了开发的时间但是到处都是重复代码大大提高了软件维护的成本为日后软件的发展带来了隐患。如果同一功能被复制粘贴了上百次一旦这段代码需要变更时那简直就是一种灾难改了这边却忘了改那边。同一段代码当你Copy第一次的时候也许还能容忍但是第二次的时候你应该停下来思考一下了这是一种优秀的编程习惯我们要遵守DRY原则。 我们应该多关注那些功能相似或者相近的函数或者类因为这些地方容易存在大量相同或这相似的代码它们应当被复用。但由于过去程序结构不合理与其他程序过于耦合开发人员意识不够甚至由于开发时间的限制它们被简单地Copy了所以我们应该去重构它们。 当重复代码存在于同一对象中时也就是说一段代码在该对象中出现了两次以上的时候我们应该把这段代码抽取为方法。当重复代码不在同一对象中时那就运用抽取类的手段将重复的部分抽取到一个工具类中然后让其他类调用。当重复代码不在同一对象中时如果这些重复代码存在着较强的业务相关性可将这些代码提取并封转成一个实体类该实体类能够体现这种业务相关性。当重复代码不在同一对象中时也可以将相同的部分抽取为父类不同的部分还留在原来的类中然后让其他类继承该父类。当出现继承泛滥时将不同的部分用一个接口与多个实现来解决也就是组合。当重构的代码被相同部分和不同部分分割成了好多碎片的时候也就是说相同的和不相同的夹杂而且这个时候多半有顺序怎么破很简单了定义一个父类分解成数个有顺序的方法每个方法是一个步骤代码中相同的部分写在父类中不同的部分分别在子类中实现各自的步骤。什么时候该用继承什么时候该用组合 如果存在一种IS-A的关系比如Bee“是一个”Insect并且一个类需要向另一个类暴露所有的方法接口那么更应该用继承的机制。如果存在一种HAS-A的关系比如Bee“有一个”attack功能那么更应该运用组合。转载于:https://www.cnblogs.com/DreamRecorder/p/9238271.html