分析一套源代码的代码规范和风格并讨论如何改进优化代码
Posted xsymin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分析一套源代码的代码规范和风格并讨论如何改进优化代码相关的知识,希望对你有一定的参考价值。
此次工程实践选题暂定为开发一款少儿编程学习软件,该软件采用Java语言进行,故我在github找了一套Java相关项目的源代码,分析其特点,以得出今后在软件开发中的一些经验。
1、 结合工程实践选题相关的一套源代码,根据其编程语言或项目特点,分析其在源代码目录结构、文件名/类名/函数名/变量名等命名、接口定义规范和单元测试组织形式等方面的做法和特点。
这是一款小型项目,未用到复杂的框架与技术。麻雀虽小,但还需五脏俱全。由其项目结构可知,该项目并不符合Web开发的三层架构。三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。明显,该项目中并没有业务层,从而使得该项目耦合度过高,不利于后期维护。文件名/类名/函数名/变量名等命名合理,基本能反应该文件的功能。
2、 列举哪些做法符合代码规范和风格一般要求,列举哪些做法有悖于“代码的简洁、清晰、无歧义”的基本原则,及如何进一步优化改进。
可以看到,该代码中做到一句代码占一行,使用空格分割程序的不同逻辑块或者代码块,比如每一个方法之后都会空一行。任何循环体,判断体等执行语句都使用{},即使if语句后面仅有一行。这些规范将使得整个代码更加易读。可以看到循环的for,while,do,开关switch,判断语句if等,没有独占一行。
当然,源代码还是存在这样或那样的问题,比如注释不够全面,这无疑会使得原程序的阅读变得困难。项目中几乎没有注释文档,对后面读代码的人很不友好。开发者应该在编写代码的过程中加入必要清晰的注释,既帮助自己整理思路,也能方便后续的代码维护。部分模块没有使用面向对象的思想,个别变量命名只有一个单词,表意不够直观。再比如程序耦合度较高,前后端分离思想不明显,各模块之间耦合度高,不利于分工协作。
3、总结同类编程语言或项目在代码规范和风格的一般要求。
根据以上分析,总结如下:
(1) 程序应该左对齐,包括括号等标记,如果有嵌套,使用缩进。
(2) 一行代码建议保持在70-80左右个字符,太长不容易看,也不容易打印,长了要拆分,拆分的新行要适当缩进,排版整齐。
(3) 要有文档注释,要写清楚版权信息和作者信息,文件功能简介等(依据团队或者公司要求)。
(4) 常量用大写字母标识!区分变量。
(5) 关键代码注释清楚,便于后期维护,代码一旦修改,相应的注释必须及时更新!注释要负责任,不能瞎写或者想当然,不能模棱两可,要写清楚,写明白,不使用缩略词!不然,不如不写,以免误导别人或者以后自己看了都看不懂,或者以后自己看到这些注释,可能会怀疑自己的知识是不是学错了……
(6) 注释的位置不能随心所欲!要和被解释的代码靠近,代码的上面,或者后面都行(下面不行),当代码有很多嵌套,那么要在一些嵌套结尾处加上注释,便于阅读,一目了然!
(7) 变量命名建议峰命名法:变量名或函式名是由一或多单字连一起而构成唯一识别字,则第一个单词小写,后面的每一个单词的首字母都大写。对于有互斥含义的,使用反义词命名。
以上是关于分析一套源代码的代码规范和风格并讨论如何改进优化代码的主要内容,如果未能解决你的问题,请参考以下文章