1 / 12
文档名称:

java10大低级错误资料.doc

格式:doc   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

java10大低级错误资料.doc

上传人:分享精品 2016/4/19 文件大小:0 KB

下载得到文件列表

java10大低级错误资料.doc

相关文档

文档介绍

文档介绍:J ava 十大低级错误 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. 、方法和变量命名随意而不规范,没有类注释、方法注释或注释不规范,代码修改后,不同步修改注释,导致注释与代码不符。<?xml:namespace prefix =o ns= "urn:schemas-:office:office" /> 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