java10大低级错误

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java十大低级错误

1、方法和变量命名随意而不规范,没有类注释、方法注释或注释不规范,代码修改后,不同步修改注释,导致注释与代码不符。

2、数据类不重载toString()方法(说明:编程规范要求“所有的数据类必须重载toString() 方法,返回该类有意义的内容”)。

3、对方法的调用不进行空指针判断而造成空指针异常。

4、数据库操作、IO操作的资源没有及时释放,数据库结果集和连接释放顺序不正确,或者使用没有必要的预处理。

5、循环体内包含了大量没有必要在循环中处理的语句,循环体内循环获取数据库连接,循环体内进行不必要的try-catch操作。(说明:编程规范中建议“不要在循环体内调用同步方法和使用 try-catch 块”)

6、嵌套使用try-catch,或者try-catch后面没有必要的finally操作(说明:数据库操作、IO操作等需要使用结束close()的对象必须在try -catch-finally 的finally中close())。

7、不对数组下标作范围校验。

8、equals操作时没有将常量放在equals操作符的左边(说明:字符串变量与常量比较时,先写常量,这样可以避免空指针异常)。

9、字符串转化为数字时没有做异常处理。

10、没有在异常分支记录日志导致问题定位困难。

代码案例(说明:所有样例都是错误的代码):

1.

2.1、方法和变量命名随意而不规范,没有类注释、方法注释或注释不规范,代

码修改后,不同步修改注释,导致注释与代码不符。 3.

4.public class MethodName

5.{

6. public void a( int i )

7. {

8.//错误:变量名称太短

9.String b = "";

10.

11.//错误:变量名称太长,超过40个字符

12.String longVariableLongVariableLongVariableLongVariable = "";

13.}

14.

15. /**

16.* <一句话功能简述>方法命名约定:应以小写字母开头、同时命名

不应含有下划线字符。

17.* <功能详细描述>

18.* @param i

19.* @see [类、类#方法、类#成员]

20.*/

21. public void Check_Method( int i )

22. {

23.// 错误:方法名称不规范

24.//错误:变量名称不规范

25.String b = "";

26. }

27.

28. /**

29. * <一句话功能简述>变量、方法名、类名、接口名避免出现美元字符$。

30. * <功能详细描述>

31. * @param i

32. * @see [类、类#方法、类#成员]

33. */

34. public void Fo$o ()

35.{

36.// 错误:方法名称不规范

37.}

38.

39. /**

40.* <一句话功能简述>注意hashCode方法大小写。此规则用于推测作

者可能是要实现hashCode方法,但大小写错了。

41.* <功能详细描述>

42.* @return

43.* @see [类、类#方法、类#成员]

44.*/

45. public int hashcode()

46. {

47.// 错误:方法名称不规范

48.int temp = 0;

49.// oops, this probably was supposed to be hashCode

50.return temp;

51.

52. }

53.

54. /**

55.*

56.* @param o 只有参数类型和返回值类型不一致,方法名equals完

全相同(包括大小写也相同),推测可能是想实现equals方法。

57.* @return

58.*/

59. public int equals(Object o)

60. {

61.// 错误:方法名称不规范

62.// oops, this probably was supposed to be boolean equals

63.int temp = 0;

64.return temp;

65. }

66.

67. /**

68.* <一句话功能简述>只有参数类型和返回值类型不一致,方法名

equals完全相同(包括大小写也相同),推测可能是想实现equals方法。

69.* <功能详细描述>

70.* @param s

71.* @return

72.* @see [类、类#方法、类#成员]

73.*/

74. public boolean equals(String s)

75. {

76.// 错误:方法名称不规范

77.// oops, this probably was supposed to be equals(Object)

78.return true;

79. }

80.

81. /**

82.* <一句话功能简述>'getX()'方法同时返回值又是 'boolean' ,则

建议用'isX()'命名。checkParameterizedMethods属性用于决定是否对带参数的方法检测。

83.* <功能详细描述>

84.* @return

85.* @see [类、类#方法、类#成员]

86.*/

87. public boolean getFoo()

88. {

89.// 错误:方法名称不规范

90.// bad

91.return true;

92. }

93.

94.}

95.

96.

97.2、数据类不重载toString()方法(说明:编程规范要求“所有的数据类必

须重载toString() 方法,返回该类有意义的内容”)。

98.public class Content extends BaseMetaData

99.{

100.private String oldCID;

101.

102. private String cId;

103.

104. private String spId;

105.

106. private int type;

107.

108. private int serviceType; 109..........................

110. /**

111.* 设置修改标识

112.* @param update_flag 修改标识

113.*/

114. public void setUpdate_flag(String update_flag)

115. {

116.this.updateFlg = update_flag;

相关文档
最新文档