java开发注意事项培训.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《java开发注意事项培训.ppt》由会员分享,可在线阅读,更多相关《java开发注意事项培训.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Copyright 2008Java开发注意事项培训教材2009年1月13日2www.FCopyright 2008 All right reserved,Fiberhomeconfidential代码检查n代码审查对消除一些特别细节的错误大有裨益,代码审查对消除一些特别细节的错误大有裨益,尤其是那些能够容易在阅读代码的时候尤其是那些能够容易在阅读代码的时候发现发现的错的错误,这些错误往往不容易通过机器上的测试识别误,这些错误往往不容易通过机器上的测试识别出来。通常给别人的工作挑错要比找自己的错容出来。通常给别人的工作挑错要比找自己的错容易些。别样视角的存在也解释了为什么作者需要易些。别样视角
2、的存在也解释了为什么作者需要编辑,而运动员需要教练的原因。编辑,而运动员需要教练的原因。n如果审查者能够有意识地寻找特定的错误,而不如果审查者能够有意识地寻找特定的错误,而不是靠漫无目的的浏览代码来发现错误,那么代码是靠漫无目的的浏览代码来发现错误,那么代码审查的效果会事半功倍。审查的效果会事半功倍。3www.FCopyright 2008 All right reserved,Fiberhomeconfidential不当代码n代码格式问题:n 1)空行是否得体?n 2)代码行内的空格是否得体?n 3)注释是否清晰并且必要?n 4)长行拆分是否得体?n 5)If、for、while、do等语
3、句自占一行,不论执行语句多少都要加“”。n 6)标识符的长度应当符合“min-length&max-information”原则?n 7)是否编写太复杂或者多用途的复合表达式?n 8)Case语句的结尾是否忘了加break?n 9)构造函数中是否遗漏了某些初始化工作?4www.FCopyright 2008 All right reserved,Fiberhomeconfidential不当代码n是否违背了继承和组合的规则?n(1)若在逻辑上B是A的“一种”,并且A的所有功能和属性对B而言都有意义,则允许B继承A的功能和属性。n(2)若在逻辑上A是B的“一部分”(a part of),则不允许
4、B从A派生,而是要用A和其它东西组合出B。5www.FCopyright 2008 All right reserved,Fiberhomeconfidential不当代码n变量值问题:n()变量的初始化或缺省值有错误吗?n()变量发生上溢或下溢吗?n()变量的精度够吗?n逻辑判断问题:n()由于精度原因导致比较无效吗?n()表达式中的优先级有误吗?n()逻辑判断结果颠倒吗?n循环问题:n()循环终止条件不正确吗?n()无法正常终止(死循环)吗?n()错误地修改循环变量吗?n()存在误差累积吗?6www.FCopyright 2008 All right reserved,Fiberhomec
5、onfidential不当代码nException处理问题:n()忘记进行错误处理吗?n()错误处理程序块一直没有机会被运行?n()错误处理程序块本身就有毛病吗?如报告的错误与实际错误不一致,处理方式不正确等等。n()错误处理程序块是“马后炮”吗?如在被它被调用之前软件已经出错。n文件I/O问题:n()对不存在的或者错误的文件进行操作吗?n()文件以不正确的方式打开吗?n()文件结束判断不正确吗?n()没有正确地关闭文件吗?7www.FCopyright 2008 All right reserved,Fiberhomeconfidential不当代码n内存和资源操作问题:n 1)是否一次申请
6、了太大的内存,例如一次性将大型文件读出而不是进行流式处理n 2)是否向全局集合变量(例如会话数据,Map表)添加数据,而忘记移除n 3)是否长期持有大型对象的引用n 4)建立tcp连接,而不进行关闭n 5)使用JDBC访问数据库,忘记关闭statmentn 6)自己使用JDBC连接,而不是使用系统的连接池n 7)创建过多的线程,或者线程式的定时器,例如jdk自带的定时器。n跨平台问题:n 1)是否将代码限制在某个操作系统,例如定义的路径格式为windows系统n 2)调用某个特定的操作系统的命令或程序,导致在其他操作系统上功能失效8www.FCopyright 2008 All right r
7、eserved,Fiberhomeconfidential常见不当代码n多次拷贝字符串生成不可变(immutable)对象的多份拷贝。不可变对象是不可改变的,因此不需要拷贝它。最常用的不可变对象是String。如果你必须改变一个String对象的内容,你应该使用StringBuffer。9www.FCopyright 2008 All right reserved,Fiberhomeconfidential常见不当代码n没有克隆(clone)返回的对象 n不必要的克隆不必要的克隆 n自编代码来拷贝数组 n拷贝错误的数据 n有时候程序员知道必须返回一个拷贝,但是却不小心拷贝了错误的数据。由于仅仅
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 开发 注意事项 培训
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内