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

结构清晰与编码效率
本文探讨了在项目设计中,面对业务类型扩展时,选择添加单一属性还是区分不同业务属性的方法。通过比较两种方法的优劣,强调了结构清晰对于后期维护的重要性。

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值