搜档网
当前位置:搜档网 › 代码规范面试

代码规范面试

代码规范遵循的定义?
什么代码是好的代码?
简单,清晰,耦合度低,可读性强
代码覆盖率
代码覆盖率是单元测试里的概念,指测试结束后,被执行的代码或路径数量占总代码或路径数量的百分比。
语句覆盖、分支覆盖、路径覆盖是常见的几种覆盖率方式。

代码圈复杂度
一种代码复杂度的衡量标准,中文名称叫做圈复杂度。 在软件测试的概念里,
圈复杂度“用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,
即合理的预防错误所需测试的最少路径条数,圈复杂度 大说明程序代码可能质量低且难于测试和维护,
根据经验,程序的可能错误和高的圈复杂度有着很大关系”


在项目中用到的工具和遇到的问题?
CheckStyle是一个开源代码分析工具,侧重于遵循Java编码约定(如行长度和缩进)而不是bug模式。
是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。
它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。

2.2. CheckStyle检验的主要内容
CheckStyle默认提供一下主要检查内容:
·Javadoc注释
·命名约定
·标题
·Import语句
·体积大小
·空白
·修饰符
·块
·代码问题
·类设计
·混合检查(包活一些有用的比如非必须的System.out和printstackTrace)


四、结论
利用CheckStyle可以方便的对于编码的Code Conventions进行检查,同时,也有效地减少了Code Review的工作,
使得Reviw人员的精力更多的集中到逻辑和性能检查。

Checkstyle的结果输出
序号 输出内容意义
1 Type is missing a javadoc commentClass 缺少类型说明
2 “{” should be on the previous line “{”应该位于前一行
3 Methos is missing a javadoc comment 方法前面缺少javadoc注释
4 Expected @throws tag for “Exception” 在注释中希望有@throws的说明
5 “.” Is preceeded with whitespace “.”前面不能有空格
6 “.” Is followed by whitespace “.”后面不能有空格
7 “=” is not preceeded with whitespace “=”前面缺少空格
8 “=” is not followed with whitespace “=”后面缺少空格
9 “}” should be on the same line “}”应该与下条语句位于同一行
10 Unused @param tag for “unused” 没有参数“unused”,不需注释
11 Variable “CA” missing javadoc 变量“CA”缺少javadoc注释
12 Line longer than 80characters 行长度超过80
13 Line contains a tab character 行含有”tab” 字符
14 Redundant “Public” modifier 冗余的“publ

ic” modifier
15 Final modifier out of order with the JSL suggestionFinal modifier的顺序错误
16 Avoid using the “.*” form of importImport 格式避免使用“.*”
17 Redundant import from the same package 从同一个包中Import内容
18 Unused import-java.util.list Import进来的java.util.list没有被使用
19 Duplicate import to line 13 重复Import同一个内容
20 Import from illegal package 从非法包中 Import内容
21 “while” construct must use “{}” “while”语句缺少“{}”
22 Variable “sTest1” must be private and have accessor method 变量“sTest1”应该是private的,并且有调用它的方法
23 Variable “ABC” must match pattern “^[a-z][a-zA-Z0-9]*$” 变量“ABC”不符合命名规则“^[a-z][a-zA-Z0-9]*$”
24 “(” is followed by whitespace “(” 后面不能有空格
25“)” is proceeded by whitespace “)” 前面不能有空格

相关主题