Controller

  无论是前后端分离开发,还是像我上述列出的前后端不是特别分离的jsp技术等,单元测试起到不可估量的作用。

  我总结到,为什么表现层方面就会出现这样的那样的错误,关键在于控制层代码有问题,也就是Controller层。

  通常情况下,像我现在开发,通常Controller代码,我会通过单元测试测试好几遍,当然也做条件,这样的话,可以避免一些简单的错误,什么空指针,参数问题等等。而且对于表单提交方面的,例如注册、添加用户、批量增加或者修改等,都是可以通过单元测试测试是否正常。

  记得某位朋友曾经说过,从单元测试到业务测试再到UI测试(WEB测试),越底层,花费的时间成本越小,很容易找到错误,越到高层越不易排错,当然了,排错的方式也很重要。

  这里我想说的是,尽量能在单元测试可以预见错误的前提下,尽量排错错误的可能性,因为到WEB阶段是非常让人痛苦的。

  越简单的事情往往都会让人忽略的,坦白地说吧,我发现一个很贴近现实的情况,就是我们开发人员,就我个人而言,有的时候觉得存在Bug,除非其他同事发现了,说了下,或者实际业务出问题,不然我不会改的,也懒得改。我想这是我半年前的心理。现在的我写的代码让人尽可能容易让同事看得懂,尽量简洁,同时现在我对于我写的代码,我可以清楚地知道它是如何跑起来的,会出现哪些问题。当然了,对于一些简单的低级错误,我现在已经通过单元测试排除掉了。而且再加上严格的表单校验。统一规范的js书写和每天十到十五分钟早会的汇报和简单交流及其加强沟通的情况下,我们的Bug越来越少了,代码整体的性能也越来越好,简洁优美,当然了,这还远远不够,相对于第一个项目而言,我们的第二个项目一直到现在的第三个项目,越来越好了。希望继续努力保持下去。

  另外补充到:郑州哪家精神病医院好http://www.juenpt.com/

  对于前后端交互,无论是AJAX或者vue.js等等,SpringMVC的Controller代码,基本上都是可以通过单元测试得到结果的,单元测试过了,自然出错率会减少很多。

  当然了,我说的单元测试,不是简单的运行就可以了,而是有条件的列出实际情况,这需要根据实际业务情况而定,当然了也不能总是在单元测试了,毕竟开发进度要保持增长。

  总结:

  上面的描述,也许不好理解,也许重点不突出。下面我要列出我认为重要的几点?

  (1)小公司而言,后台兼任前后台开发,确保后台参数,可以在前台校验的,尽量放在前台,这对于减轻服务器负载非常有帮助;

  (2)controller代码中的各个@RequestMapping下的代码是可以通过单元测试避免很多错误的,例如空指针或者sql有误或者传参类型问题或者resultType或resultMap常见的问题等,这些是可以避免的;

  (3)写代码,无论是js或者Java代码,一定要清楚的知道它是如何运行的,这里说的,并不是要你知道非常清晰的每一步,因为那是计算机底层原理,这个底层原理我也不懂,正在学习中。我所说的知道它是如何运行的,是指,你能通过大脑想象,描述它是怎么走了,比如这个参数传到这个,但是参数值有误,会出现什么情况等等这样的情况,这样可以确保你的思维是清楚,思维的清楚,也代表代码逻辑的清楚。作为开发人员,连自己的代码都不知道怎么描述,说不出所以然来,那么他的代码是非常糟糕的;

  (4)代码,以追求简单易懂,清楚明了为主,让维护的人易维护,让几个月后的自己感谢自己。更让整体系统性能更好。其实,很多简单的事情堆积起来就是一件不平凡的事情。

posted @ 2021-11-30 13:25  顾延笙  阅读(395)  评论(0编辑  收藏  举报