zoukankan      html  css  js  c++  java
  • bug

    软件的质量问题往往表现为缺陷,这样的缺陷就是(bug)。
    软件缺陷的产生主要有两个原因:软件产品的特点和开发过程。例如:需求不够明确,开发人员不太了解需求,不知道应该“做什么”和“不做什么”,常常做不合需求的事情,这方面的问题最多。由于竞争激烈,过早使用新技术也容易产生问题。有的企业为了在时间上取胜,认为实现很新、很酷的功能比质量更重要,因此时间上安排很紧,分析和设计的投入远远不够,测试也不到位,这是产生软件错误的主要原因之一。除此以外,设计文档不清楚,文档本身就存在错误,沟通上存在问题,项目管理水平差,都可能导致问题。概括起来可以有七项原因:
    1. 项目期限的压力。
    2. 产品的复杂度。
    3. 开发人员的疲劳、压力或者受到干扰。
    4. 缺乏足够的知识、技能和经验。
    5. 不可解客户的需求。
    6. 缺乏动力。

    如何有效的避免这些问题,或者说尽可能的来降低这些问题造成的不良后果,下面是个人的一些看法:
    1.项目期限的压力
    往往迫使我们采取一些折中或者是曲向的临时解决方案来解决一些问题,这无疑会给我们的系统造成极大的隐患,或许在某一天就会突然爆发,然后当你面对10多万行,或者更多的代码的时候,你会变得头大如牛,有心无力,而且问题往往会在项目的后期才会出现,那个时候留给你的时间会更少,你会更加的紧迫。所以当我们面对期限压力的时候,还是要保证我们开发的一些原则,要坚信磨刀不误砍柴工,硬编码无论在何时都是不可取的,另外我们可以采取一些标记性的措施,待到项目稍空的时候再来进行补救。java里eclipse中我们可以在需要以后来修改解决的地方标注成TODO。

    2.产品的复杂度
    产品越复杂,前期的工作就得做的越加的细致详尽,需求调研,概要设计,详细设计,架构和最终物理模型的敲定,一个都不能少。良好的项目管理,进度监控和对风险的预估性变得极为重要。

    3.开发人员的疲劳、压力或者受到干扰
    我本身就是个开发人员,所以能够深刻的体会到这一点,我想所有的开发人员都会有这样的感受。项目紧的时候,问题多的时候,我们就需要通过加班来解决问题,超负荷的工作强度和压力,造成了开发人员对于别人的映像:脸上苍白,双目呆滞,做事机械。长时间这样之后,很容易就造成了第6个问题:缺乏动力。怎么来排解压力,对于我们来说很重要。一般下班后我会做些自己喜欢的事情:比如玩会游戏,偶尔去外面吃吃东西,记录一些自己的工作心得,收获一些小小的成就感也很重要。工作的时候我会集中精力狠干几个小时,然后去厕所溜达一圈放松放松。

    4.缺乏足够的知识、技能和经验
    为了避免技术层面上带来的不可预估的风险和问题,我们常常采取一些相对而言比较成熟的技术来解决开发中的问题,而不会一味的为了新颖追逐新技术的运用。但是新技术,新知识我们还是要学习的,闭门造车的做法无论在哪个年代都只会产生不好的后果。当然,知识,技能,和经验的提升都不是短期就能见效的,所以我们只有不断的学习,baidu,google都是我们的好老师。个人认为最好的老师还是在我们身边:就是我们的同事,老员工,经理都是我们学习的对象,而且询问他们我们会得到更及时,更详尽,更透彻的答复。

    5. 不可解客户的需求
    这个问题同样会带给开发人员极大的困惑,我们常常不知道要做什么,然后就开始做了,这样的结果满足客户需求的可能性微乎其微了。当我们遇到这样的问题时,沟通便成了我们最有力的武器,在良好沟通的前提下,清楚的理解需求成了我们开始动手的前提。

    6.缺乏动力
    参见帖子:做一个有思想且付诸行动的程序员

    要想解决bug,先行一步的最好方法就是项目管理了:这需要经验的积累,但同样有快速上手的通道:使用一个好的项目管理工具来管理你的项目吧。

  • 相关阅读:
    sql声明变量,及if -else语句、while语句的用法
    视图、事务
    索引
    相关子查询
    递归实现treeView下的省市联动
    创建sqlhelp类以封装对数据库的操作及对可空类型的操作
    ADO.Net操作数据库
    sql的case语句
    vue父组件异步数据子组件接收遇到的坑
    第一次用angularJS做后台管理点滴
  • 原文地址:https://www.cnblogs.com/komojoemary/p/bug.html
Copyright © 2011-2022 走看看