我在github上选了一套仿mooc在线学习的代码进行分析,以下是代码的目录结构。
1.结合工程实践选题相关的一套源代码,根据其编程语言或项目特点,分析其在源代码目录结构、文件名/类名/函数名/变量名等命名、接口定义规范和单元测试组织形式等方面的做法和特点
该代码目录结构的话还算清晰,各类名、函数名等也都以所实现的相应功能进行命名,做到了见名知义,可以很方便地找到相应的代码。分层也比较清晰,DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此;Service层主要负责业务模块的逻辑应用设计;Controller层负责具体的业务模块流程的控制;View层与控制层结合比较紧密,需要二者结合起来协同开发,主要负责前台jsp页面的表示。
2.列举哪些做法符合代码规范和风格一般要求
标识符命名符合规范,类名采用了大驼峰式命名规则,类名每个单词的首字母都大写,其它小写;而函数名、变量名则采用了小驼峰式命名规则,第一个单词的首字母小写,后面每个单词的首字母都大写。
类名后面加上了不同的后缀表示额外的意思,如CourseService表示这个类是个服务类,里面包含了给其它类提供业务服务的方法;CourseServiceImpl表明这个类是个实现类,不是接口。
静态常量全部大写并用下划线分割。
包名统一使用了小写字母。
每个if while for等语句,都不要省略大括号。
在适当的地方加上了代码注释,增强了程序的可读性。
3.列举哪些做法有悖于“代码的简洁、清晰、无歧义”的基本原则,及如何进一步优化改进
类名的命名在有些地方没有遵循大驼峰式命名规则。
变量名的命名在有些地方出现了拼音和英文单词夹杂的现象,而应该统一采用英文单词的形式。
有些关键功能模块的代码注释还是不够全面,不利于以后的修改。
4.总结同类编程语言或项目在代码规范和风格的一般要求。
包名由一个小写单词组成,类名采用大驼峰式命名规则,函数名、变量名则采用小驼峰式命名规则。
package行要在import行之前,import中标准的包名要在本地的包名之前,而且按照字母顺序排序,如果import行中包含了同一个包的不同子目录,则应该用*来处理。
类变量存取的方法,如果只是简单的用来对变量赋值获取值的话,可以简单的写在一行上,其它的方法不要写在一行上。
{}中的语句应该单独作为一行,}语句永远单独作为一行。
程序块采用缩进风格编写,缩进只使用TAB键,不使用空格键,方法体的开始、类的定义、以及if、for、while等等中的语句都要使用缩进。
恰当的使用换行。
对不易理解的地方加上代码注释,增强程序的可读性与可维护性。
原文:https://www.cnblogs.com/19chenjian/p/11665966.html