还剩4页未读,继续阅读
文本内容:
保持代码生命力管理资料代码是架构师和开发者共同的产物,在公司目前这种迭代式开发和需求多变的情景下,关键代码往往会被多个项目,多个程序进行多修改,
一、良好的设计一个良好的设计是保证代码质量的第一因素设计就是对业务需求模型的抽象,对需求把握的准确与否,直接决定了设计的成败在项目中,我们往往在寻找一些业务名词,如APP、ISV、USER、保证金、、月租、订单、红包、有效期、平台等等,一些动词,如接入、订购、付费、退订、上架、下架、审核、共享、服务等等,还有之间的一些关系连线,状态迁移,数据流向等,这些就构成了我们的业务体系,再结合我们常用的SAAS平台图谱,就组成我们的架构体系我们设计,就围绕这些点铺开我们使用前人总结出来的多种设计模式或是设计原则来抽象,隔离变化,以便使我们的设计易扩展、可维护、健壮、职责单一,在项目迭代中保持顽强的生命力
1、设计尽可能简单简单是为了面对变化时有更多的选择;
2、遵循面向对象设计原则单一职责原则、开放-封闭原则、里氏替换原则、依赖倒置原则、接口隔离原则;
3、设计的本质是抽象,目的是隔离变化项目中我们经常发现,反复修改的地方往往就那几个,基本上都是在前面提到的使用动词的地方
二、统一的编码规范统一的编码规范是高质量的保证从机器码到高级语言的变迁,从过程式编码到面向对象设计,从小作坊式编码到多个团队的协作,这种软件变迁无一不证明可读性、易维护性的重要性只有机器能懂的代码在现在大型的项目中实际上是没有价值的一般来说,我们的项目组都有一个比较详细的编码规范可供参考,同时我们的软件过程中也有codereview来保证规范的执行,TM或专人review,团队交叉/结对review的方式,或是两者相结合的方式都是可行的特别是结对,规范和一些技能能够快速地在团队新老成员之间传播,在编码风格上也比较容易统
一三、组件化组件化是提高代码质量的有效方式前面提到设计中的抽象和变化隔离,这其中不变的部分和公共的部分可以被组件化组件按业务的相关性可以分为工具类和业务类组件我们项目中常用的Utils,第三方包,包括工程中提取出来的一些UI组件,界面元素工具,校验工具,过滤工具,接口调用工具等都属于工具类,公共服务,API,CORE,以及一些业务封装属于业务组件不论哪一类组件,都是封装变数,重用代码的方式,大...。