概述
反样本程序
样本程序,指质量高且具有借鉴意义的程序,程序员通过学习样本程序,能够知道好的程序是什么样子,并以此为范本来整理自己的程序,以提高自己的程序质量。这里有一个很难定义的问题,就是如何度量程序的质量。为此,我提出反样本程序的概念,所谓反样本程序,是指程序中不建议使用的代码样例,这些代码存在于系统中,会威胁程序的质量,给程序带来损失。反样本程序产生的原因有很多种,包括不合理的设计、程序员思路不清晰、项目时间逼近而产生的权宜之计等等很多。下面,对这些代码样例进行整理,不一定很完整,但希望能有借鉴意义。
(1)。代码书写不规范。
代码书写规范是程序员的基本技能,但是由于其不影响程序的编译运行,故很多程序员并不重视。造成写出来的程序,虽然不出语法错误,但是杂乱无章、像一堆稻草。代码书写规范包括:命名规范(类,函数,变量等),代码格式(缩进,换行等),代码注释(无意义的注释、过期的注释、错误的注释),垃圾代码(被注释掉的代码、从未使用的代码、废弃的代码)。总之,要抱有这样的观点:代码不仅要给计算机执行,也要给程序员读。
(2)。常识性代码错误技巧
a. 异常处理问题;
被动处理异常,只是一味打印。甚至不处理异常,只是一味抛出,且异常信息不封装,直接报错到用户界面中。
b. 常量使用问题;
直接在系统中使用数字,且重复使用,没有提取出常量。
c. 后台输出问题;
系统中大量使用 System.err/System.out等语句进行调试程序,调试结束后没有删除。
d. 只修改编译错误(ERRORS),不修改编译警告(WARNINGS)。
(3)。代码不具备可测试性。
程序员轻视甚至蔑视代码测试,对编写出的代码测试不完全,有的甚至不做测试,导致代码应用质量不高且漏洞联联,因没有测试意识,其编写的代码也不具有可测试性,无法进行独立测试。
代码像流水帐一样处理业务,重复代码大量充斥其中,且无层次概念,宏观微观处理在一个类或函数中完成。造成很难对代码进行详细的小粒度测试。
(4)。代码无思路。
没有代码思路,业务的要求就是代码思路,导致代码过分依赖业务,将业务规范写死到代码中间,业务发生变化,代码也要相应修改,很繁琐。且导致大量的重复代码在系统中间。代码不可重用。不理解类的含义,为函数建类,随意给类添加函数。且函数间关系疏远。函数本身无结构,功能大一统。这样的函数只能在实际环境中进行测试,无法编写其桩函数。函数,类的体积分配严重失调,有的类不到10行代码,有的类超过4000行代码。
(5)。系统无模型。
直接针对功能进行编程,导致业务逻辑分散到各个功能之中,没有统一的业务模型。典型的错误认识就是, Action 直接处理业务,其中包含大量的业务代码,将模型仅仅理解为Bean对象。
最后
以上就是典雅香菇为你收集整理的反样本程序的全部内容,希望文章能够帮你解决反样本程序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复