代码编写和测试的总结
代码编写和测试的总结
一、 代码编写
代码编写是每一个程序员都关心的问题。但是每个人的编码能力随着时间的推移会存在很大的差距。这个在很大的程度上是因为个人的编程习惯问题导致的。在这次ECAP后台代码的编写过程中,我有很深的体会,下面就总结编写的心得。
1、良好的编程习惯。在编程的初期一定要按照统一的规范要求自己。最理想的情况就是项目组所有的人先写同样一段代码看起来像是一个人写的。但这个需要不断的积累过程。因此平时就要严格的要求自己。
2、代码实现后应该自己走读一遍。自己走读代码的好处是让自己在编译之前发现一些明显的语法错误。如语句中缺少括号、分号等等错误。
3、编写成功后进行单元测试。单元测试的目的是让自己的代码实现需求的功能。分别对不同的条件进行测试。测试通过后再提交给业务人员进行集成测试。
4、测试时尽量多写日志。测试的时候常常会出现很多自己想不到的问题。多写日志会让自己很快的定位到错误的位置。写日志的原则是:在每一个分支和条件处必须写日志;在关键变量的取值和复制处必须打印变量值。
5、集成测试后清理大部分调试使用日志。集成测试完成后,程序功能没有问题的情况下。那些用于调试的日志就没必要打印出来,以免增加生产磁盘空间的负荷。而一些关键的分支的日志最好保留,用于维护时处理生产问题。
6、代码编写的时候注意SQL效率问题。编写高效的SQL语句应该遵从以下规则:
1)在连接查询的时候记录最小的表应该放在最右边,因为oracle的解析器从右到左处理FROM中的表。
2)在WHERE子句中的的条件的顺序应该让能过滤掉最多记录的条件放在最下面,因为oracle的解析器从下到上解析WHERE子句。
3)尽量一次性的取出所有的记录,不要反复的去访问数据库。多次访问数据库会增加大量的I/O操作,影响效率。
4)连接的时候尽量减少表关联的数量。没用的表不要关联。
5)在复杂的SQL语句中有许多UNION的情况下,尽量把条件过滤放到UNION中的每个字查询中过滤掉尽量多的记录,得到一个最小的记录集。
6)在索引上面不要使用计算。如果在索引上面使用计算,那么索引就不会用到。
7)使用>=代替>;如num>3,改写为num>=4;
8)如果是索引列上面多个值为条件的时候应该使用UNION代替OR。
二、 测试
测试分为单元测试和集成测试。单元测试的时候是开发人员自己测试自己编写的代码有没有逻辑错误。一旦单元测试完成后,下一步进行集成测试。集成测试需要业务人员配合,必须检查数据的正确性。
1、单元测试
在进行单元测试之前最好和用户进行交流和讨论。讨论自己的程序逻辑是否正确,这样就可以减小集成测试的工作量。在单元测试的过程中应该注意测试反案例,一般开发人员只测试正案例,所以经常会出现反案例就处理不正确的情况。
2、集成测试
集成测试的核心是业务人员。程序开发人员要配合业务测试人员。听取他们的意见,和他们进行讨论。只有这样自己的程序就会越来越健壮和完善。