(一)异常处理使用不当
1、 空Catch语句块
2、 没有使用finally
3、 笼统的catch语句块
4、 使用函数进行错误处理, 真是“捧着金碗要饭”
5、 不清楚Checked Exception 与 Runtime Exception 的区别。 假设你要写一个Download(),根据传入的URL(String 参数)返回对应网页的内容文本。
a. 如果传入的参数是null, 应该让程序自动终止......
b.如果传入的参数是非null
—— 如果调试(bug)是去除Bug的过程,那么编程就是制造Bug的过程。
(二)不好的习惯
1、 随意地命名
2、 习惯代码的 copy & paste 代码臭味,导致代码的可维护性大大下降, 你将来需要增加功能或修改bug的时候需要同时改动多个地方。
3、 Magic Number 满天飞。 假如: 有个业务逻辑需要进行10秒钟的超时等待, 你会怎么写这个sleep语句?
a、 直接写上 sleep(10*1000);
b、 定一个常量, TIMEOUT_XXX = 10 * 1000;然后sleep(TIMEOUT_XXX)
c、 在配置文件中加入一个超时项, 然后程序读取配置文件获取超时值, 然后调用sleep()
4、 代码耦合度大
5、 被GC宠坏,要记得随时关闭连接等, 避免资源泄露
(三)缺乏面向对象的基本功
(四)对算法和数据结构不熟悉