设计结构清晰代码的实践总结

       最近,在学习effective java的编程规范,书中主要的基本的编程规范是设计结构清晰的代码优于设计性能高效的代码。编码者权衡设计的重点在哪儿。结构清晰的好处是易于修改和扩展。达到松耦合。随着项目业务的复杂化,也不会影响其他模块。

        最近,项目设计中碰到了一个问题,用到的思想和方法是围绕结构清晰还是编码少。项目中的基本对象,停车场信息对象。停车场类型,分地上,地下,地上+地下,路侧。除了路侧都是非路侧停车场,即封闭停车场。随着2个类型的业务扩张,路侧也细分多个类型,封闭也细分多个业务类型。这时候,有一种选择,就是添加一个属性,该属性代表着细分的业务类型。封闭和路侧的业务类型,同时维护同一个属性值。这样做的好处,是编码添加一个属性,支持了新的业务类型。劣势在于维护中要考虑不同业务类型使用的属性值。容易造成重复使用等。将来业务类型扩展到20个的时候,封闭是1,2,5,10等值。不直观。添加新的属性值也不在控制范围。

       另一种实现方式,添加路侧业务、封闭业务的不同的属性。例如rsType代表路侧,tobType代表封闭。不同的业务维护不同的业务类型,优势在于不同的团队维护不同的业务类型,彼此的业务类型独立。便于维护和理解。

       原则上讲,多添加一个属性,但是代码结构更清晰了。维护成本降低。

猜你喜欢

转载自nicegege.iteye.com/blog/2304556