你的代码完成了吗?(末篇)——对系统总体的影响以及安全性

你的代码完成了吗?(末篇)——对系统总体的影响以及安全性

四. 从总体上对系统的影响

当编写和修改一个程序的时候,由于一般来说它都是存在于一个更大的系统之中,而不是孤立的单个程序,所以,在编写或者修改完了之后,就必须检查它从总体上对系统的影响。

如果测试代码非常完善的话,这一点当然可以放在可测试性一起,那就是说,需要编写相应的整合测试的代码,并测试通过。然而,在很多情况下,如果没有实行测试驱动开发,并且编写相应的测试代码,这一项还是可以独立出来的。

不由地想到之前曾经修改过的一本程序。当时的需求是这样的:在做了对保单的保全操作之后(主要是新增附加险),在重新打印保单的时候,需要根据具体的情况显示最后缴费日。而此时又分为几种不同的情况,包括保单周年日新增长险、非保单周年日新增长险、保单周年日新增短险和非保单周年日新增短险。当时由于是第一次修改保全方面的程序,所以考虑就欠妥,只顾着达到自己的目的,而没有考虑到对整体的影响。当时我的修改方法是,找到数据库中存储最后缴费日的字段,然后在做保全操作的程序中,在执行相应的操作的时候将最后缴费日置为报表想要显示的日期。在做完之后,报表程序的确是没有问题了。但是在运行了几天之后,财务缴费的程序出现了问题,因为在缴费的时候是根据最后缴费日来判断何时需要产生应收数据的。仔细考虑一下,正是因为没有考虑到一次修改对系统整体上的影响,才导致出现了如此严重的bug。

因此,在进行新的程序编写或者修改原有程序的时候,一定需要做的就是考虑这个程序是否会对系统中的其他模块产生影响,如果有的话,就必须对相应的地方都进行测试,否则就可能产生不必要的麻烦。

另外,还有一个问题在那篇文章中没有提到,就是安全性的问题。如果一个程序没有考虑到必要的安全性问题,那么也不能算是完成了所有的代码。

举例来说,一个用户能够访问不属于自己权限之内的功能,或者程序中有安全漏洞,黑客能够很容易地对其进行SQL注入、OS命令注入、跨站点脚本攻击等等,那样就会给系统带来更多潜在的问题。虽然用户可能会感觉不到,但是信息的泄露和被篡改,对于公司来说风险是非常高的。

陆陆续续写了好多文字,想表达的就是,想要说自己的代码真的完成,需要做的工作真的是非常多。但是,也只有真正完成了的代码,才是高质量的代码,才会节省许多之后维护和修改的工作,也会防范很多潜在的问题。

最后,希望大家在写完一本程序之后,都会自问一声,我的代码真的完成了吗?

p.s. 之前几篇的链接:

你的代码完成了吗?(之一)——可用性和易用性

你的代码完成了吗?(之二)——可维护性和规范性

你的代码完成了吗?(之三)——可测试性和健壮性

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110789.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AVR单片机最小系统 基本硬件线路与分析[通俗易懂]

    AVR单片机最小系统 基本硬件线路与分析[通俗易懂]单片机最小系统单片机最小系统设计AVR基本硬件线路设计与分析(ATmega16功能小板)AVRDB-COREVer2.3Atmega16开发板本站商城提供本最小系统销售:99元AVR

    2022年7月1日
    21
  • python的安装包安装教程_如何安装python

    python的安装包安装教程_如何安装pythonpip是Python包管理工具,该工具提供了对Python包的查找、下载、安装、卸载的功能。一般情况pip对应的是Python2.7,pip3对应的是Python3.x。部分Linux发行版可直接用包管理器安装pip,如Debian和Ubuntu:sudoapt-getinstallpython-pip安装包pipinstallSomePackage…

    2025年6月21日
    3
  • excel文件不能上传怎么解决_上传视频的方法

    excel文件不能上传怎么解决_上传视频的方法EXCEL上传不了解决 安装AccessDatabaseEngine.exe 配置管理 把这2项属性里的内置账号改成localsystem   点击右键 找到方面点击进去找到外围服务器把下面的 改成turn    语句: declare@excfilevarchar(100),@

    2022年10月3日
    1
  • Cloudsim_java源码大全

    Cloudsim_java源码大全CloudSim介绍和使用1.CloudSim简介:2.CloudSim提供了以下新的特点:(1)支持大型云计算的基础设施的建模与仿真;(2)一个自足的支持数据中心、服务代理人、调度和分配策略的平台。(3)CloudSim独特功能有:3.CloudSim源代码介绍几个核心类:4.CloudSim下载,CloudSim在IDEA中配置5.CloudSim环境配置6.CloudSim的扩展7.使用CloudSim仿真的一般步骤1.CloudSim简介:2009年4月8日,澳大利亚墨尔本

    2022年10月13日
    4
  • exlipse同时操作多行。比如同时在多行同列输入相同的文字

    exlipse同时操作多行。比如同时在多行同列输入相同的文字

    2021年7月15日
    88
  • C语言的printf输出格式

    C语言的printf输出格式1、控制小数点后有多少位:printf(“%.10lf\n”,f_a); //将浮点数f_a输出时,输出其小数点后10位,默认是输出小数点后6位。2、控制一共(小数点前后以及小数点)输出多少位:printf(“%10.7f\n”,f_b); //将浮点数f_b输出时,输出其小数点前2位,小数点后7位(加上小数点共10位)。3、输出时让正数带”+”号,负数带”-“号:printf(“%+f\

    2022年7月24日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号