`
fei_6666
  • 浏览: 203291 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

编程再细心都不过分

阅读更多
1.同事写了个首页,结果在不应该出现超链接的地方出现了超链接,页面上用到了css,js一大堆,还有java代码循环。找了半个多小时才找出错误,原来是java代码循环里少写了个结束标签
:</a>,这样循环完毕以后,浏览器会自动在没有结束标签的地方添加</a>导致紧挨其下的元素成为超链接的点击对象。
2.js,ext代码调试问题。js的应该来说相对简单一些,无非就是一些方法名字写错,dom对象未取到就进行操作。ext则除了这些问题,还有更大的问题就是缺少 )  } ' " 之类的,最困难的是缺少逗号。前面的问题用firebug很容易调试,缺少逗号在firefox下不报错,有时候还能正常运行。在ie下就不行了,无法运行,左下角出现黄色错误提示。
3.碰到了如下错误
Cause: java.sql.SQLException: 列名无效  ibatis

原来是在java DAO代码中写表名字的时候写成了另外一个表。配置文件中一般都是一样的,不会出错。
4.遇到一个神奇的问题:
用EXT写了个grid,结果分页功能到第4页就不往下走了,走不到第5页,使用列的排序功能,只对日期字段和整型字段可以排序,其他字段排序失效。
通过打印json字符串发现,json字符串换行了,但是结构是正确的。经过了N多努力,最后感觉可能就是数据库的数据有问题,因为数据是让一个哥们通过oracle工具从excel表里直接导入的,难免数据会有出错的地方。
   然后查询以后,在action中把所有字符字段全部trim()一遍,再一试,ok了!
5.ext JS里命名的时候不要带 '-'  ,因为js可能会把它解析成分隔符。
  今天写个了grid的coloum名字是exchangecode-realcode 结果在下面提示错误是:realcode 未定义。
6.sql语句中不要使用 where  1=1,任何时候都不要使用。
7.谨慎使用全局变量,尤其是在Action中。
8.Ajax 的response返回 null 的话一定要进行处理。
9.mysql ,oracle 对时间的不同处理要注意。
10.今天使用junit4发现了一件好玩的事情,如果一个类里有重载方法,那么该类将不能够进行junit测试。如果该类里有两个方法的代码基本相同,则不能都为测试方法,即不能都写 @Test注解,否则该类将不能够进行junit测试。
11.在ie下调试js,最有效果的方法就是使用alert,或者配置一个类似于firebug的插件。
12.对异常的处理,数组越界的处理。
   用eclipse编程,好多地方可能发生异常,eclipse会自动提示我们。
   最近调用别人的接口比较多,最近的一次忘了加try catch结果导致程序发生异常,不能往下运行了。根本原因是对方的接口调用的时候连接不上了。
   涉及到数组的地方一定要注意数组的长度,不管是自己写的数组还是从别人那里调用的数组。
13.涉及到页面有客户输入的地方,一定要和后台数据库对应起来,对长度加限制,非法字符,特殊字符,为空字符进行处理,尤其涉及到json,ext等分页的地方,更是如此。
这里推荐两个类:
org.apache.commons.lang.StringEscapeUtils

org.apache.commons.lang.StringUtils

14. 图片,视频,js,css,附件文件大小的处理。



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics