你写的程序是否有这些问题:命名不规范、函数设计不合理、分层不清晰、没有模块化概念、代码结构混乱、高度耦合等等。只是为了完成功能,从来没有考虑过代码质量问题、代码设计问题。
这样的代码维护起来非常费劲,添加或者修改一个功能,常常会牵一发而动全身,让你无从下手,恨不得将全部的代码删掉重写!那么有没有规范可循呢?
(1)要有代码规范和质量意识,养成良好的编码习惯。
实际上,建立正确的技术认知和技术观,比单纯学技术、学知识点更重要。良好的编码习惯可以提升程序员的代码整洁度和生产力。但是软件质量是被大多数程序员挂在嘴上而不是放在心上的东西!
要意识到代码质量的重要性,主地去思考代码质量,有意识地去打磨代码。写代码前、中、后,都思考一下代码的扩展性、可读性、可维护性、可测试性等代码质量问题,看看自己编写的代码是否符合这些质量要求,有没有需要继续优化重构的地方。不要怕重构!!!
(2)提高软件可维护性
所谓“代码易维护”就是指,在不破坏原有代码设计、不引入新的 bug 的情况下,能够快速地修改或者添加代码。所谓“代码不易维护”就是指,修改或者添加代码需要冒着极大的引入新 bug 的风险,并且需要花费很长的时间才能完成。
对于一个项目来说,维护代码的时间远远大于编写代码的时间。工程师大部分的时间可能都是花在修修 bug、改改老的功能逻辑、添加一些新的功能逻辑之类的工作上
更细化地讲,如果代码分层清晰、模块化好、高内聚低耦合、遵从基于接口而非实现编程的设计原则等等,那就可能意味着代码易维护。除此之外,代码的易维护性还跟项目代码量的多少、业务的复杂程度、利用到的技术的复杂程度、文档是否全面、团队成员的开发水平等诸多因素有关。
(3)提高软件可读性
我们在编写代码的时候,时刻要考虑到代码是否易读、易理解。反思代码是否符合编码规范、命名是否达意、注释是否详尽、函数是否长短合适、模块划分是否清晰、是否符合高内聚低耦合等等
(4)提高软件可扩展性
跟可读性一样,代码是否易扩展也很大程度上决定代码是否易维护。
代码的可扩展性表示,我们在不修改或少量修改原有代码的情况下,通过扩展的方式添加新的功能代码。说直白点就是,代码预留了一些功能扩展点,你可以把新功能代码,直接插到扩展点上,而不需要因为要添加一个功能而大动干戈,改动大量的原始代码。
(5)提高软件简洁性
尽量保持代码简单。代码简单、逻辑清晰,也就意味着易读、易维护
(6)提高软件可扩展性
尽量减少重复代码的编写,复用已有的代码。解耦、高内聚、模块化等都能提高代码的可复用性
(5)建立完善的知识体系
除了掌握开发语言本身的语法外,还需要掌握 更加细化、更加能落地的编程方法论,来指导我们编写出高质量的代码,包括面 向对象设计思想、数据结构与算法、设计原则、设计模式、编码规范、重构技巧等
如果想系统的学习设计模式,提升自己的编程能力,推荐大家可学习下下面的课程:设计模式之美 (geekbang.org)