反样本程序

反样本程序

样本程序,指质量高且具有借鉴意义的程序,程序员通过学习样本程序,能够知道好的程序是什么样子,并以此为范本来整理自己的程序,以提高自己的程序质量。这里有一个很难定义的问题,就是如何度量程序的质量。为此,我提出反样本程序的概念,所谓反样本程序,是指程序中不建议使用的代码样例,这些代码存在于系统中,会威胁程序的质量,给程序带来损失。反样本程序产生的原因有很多种,包括不合理的设计、程序员思路不清晰、项目时间逼近而产生的权宜之计等等很多。下面,对这些代码样例进行整理,不一定很完整,但希望能有借鉴意义。

1)。代码书写不规范。

代码书写规范是程序员的基本技能,但是由于其不影响程序的编译运行,故很多程序员并不重视。造成写出来的程序,虽然不出语法错误,但是杂乱无章、像一堆稻草。代码书写规范包括:命名规范(类,函数,变量等),代码格式(缩进,换行等),代码注释(无意义的注释、过期的注释、错误的注释),垃圾代码(被注释掉的代码、从未使用的代码、废弃的代码)。总之,要抱有这样的观点:代码不仅要给计算机执行,也要给程序员读。

2)。常识性代码错误技巧

a. 异常处理问题;

   被动处理异常,只是一味打印。甚至不处理异常,只是一味抛出,且异常信息不封装,直接报错到用户界面中。

b. 常量使用问题;

   直接在系统中使用数字,且重复使用,没有提取出常量。

c. 后台输出问题;

   系统中大量使用 System.err/System.out等语句进行调试程序,调试结束后没有删除。

d. 只修改编译错误(ERRORS),不修改编译警告(WARNINGS)。

3)。代码不具备可测试性。

  程序员轻视甚至蔑视代码测试,对编写出的代码测试不完全,有的甚至不做测试,导致代码应用质量不高且漏洞联联,因没有测试意识,其编写的代码也不具有可测试性,无法进行独立测试。

  代码像流水帐一样处理业务,重复代码大量充斥其中,且无层次概念,宏观微观处理在一个类或函数中完成。造成很难对代码进行详细的小粒度测试。

4)。代码无思路。

  没有代码思路,业务的要求就是代码思路,导致代码过分依赖业务,将业务规范写死到代码中间,业务发生变化,代码也要相应修改,很繁琐。且导致大量的重复代码在系统中间。代码不可重用。不理解类的含义,为函数建类,随意给类添加函数。且函数间关系疏远。函数本身无结构,功能大一统。这样的函数只能在实际环境中进行测试,无法编写其桩函数。函数,类的体积分配严重失调,有的类不到10行代码,有的类超过4000行代码。

5)。系统无模型。

  直接针对功能进行编程,导致业务逻辑分散到各个功能之中,没有统一的业务模型。典型的错误认识就是, Action 直接处理业务,其中包含大量的业务代码,将模型仅仅理解为Bean对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值