码迷,mamicode.com
首页 > 其他好文 > 详细

分析一套源代码的代码规范和风格并讨论如何改进优化代码

时间:2019-10-13 00:47:15      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:部分   命名   知识   基本   总结   体系   微软   java   问题   

此次工程实践选题暂定为开发一款少儿编程学习软件,该软件采用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)      变量命名建议峰命名法:变量名或函式名是由一或多单字连一起而构成唯一识别字,则第一个单词小写,后面的每一个单词的首字母都大写。对于有互斥含义的,使用反义词命名。

分析一套源代码的代码规范和风格并讨论如何改进优化代码

标签:部分   命名   知识   基本   总结   体系   微软   java   问题   

原文地址:https://www.cnblogs.com/xsymin/p/11664342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!