美文网首页
软件质量意识思考

软件质量意识思考

作者: 投资尽头是数学 | 来源:发表于2019-03-11 20:01 被阅读0次

意识是一个思考问题的方式,缺乏意识就比较容易出现问题,增强意识能够有效避免掉进对应的坑中,通过知识迁移的方式阐述质量意识,锻炼一下自己知识迁移能力。

软件熵

热力学定理说,封闭系统中的熵(混乱无序),在没有外力的作用下,只会随着时间的增加保持不变或者增加。迁移到其他领域内,事物没有外力(维修)作用下,都会变老变旧。

此思想运用到计算机软件,同样遵循熵的原理。软件在发展过程中,更新添加新功能不可避免,这些会增加软件的复杂性(熵),这样软件也会随着时间的推移变坏。在此过程中,我们会采用很多实践活动比如:代码评审、架构重构、单元测试、持续集成等等,最终都是为了降低软件的复杂性(熵)。有经验的工程师会有比较深刻的体会,维护一个高熵软件比较痛苦,如果不进行降低软件的熵,随意让其发展,最终会复杂和脆弱到谁都不愿意或者不敢碰的程度,最终导致系统被废弃。

破窗效应

        环境中的不良现象如果被放任存在,会诱使人们仿效,甚至变本加厉。一幢有少许破窗的建筑为例,如果那些窗不被修理好,可能将会有破坏者破坏更多的窗户。最终他们甚至会闯入建筑内,如果发现无人居住,也许就在那里定居或者纵火。一面墙,如果出现一些涂鸦没有被清洗掉,很快的,墙上就布满了乱七八糟、不堪入目的东西;一条人行道有些许纸屑,不久后就会有更多垃圾,最终人们会视若理所当然地将垃圾顺手丢弃在地上。这个现象,就是犯罪心理学中的破窗效应

       软件设计中也存在类似的现象,当我们面对设计良好,干净整洁的代码的时候,即使在工期与业务压力大的时候我们也不愿意破坏代码整洁性,设想同事的代码都遵守规范、注释良好,如果你做不好,必然遭到同事的鄙视。相反如果我们面对的是糟糕的设计、逻辑晦涩难懂、并且代码不按照规范来,比较容易产生破罐子破摔的心理,很快整个系统的代码就会变得越来越糟糕,软件的熵愈来愈高。

为了保持代码质量可持续,我们不能容忍破窗效应在软件开发过程中发生,还要勇于修复第一扇窗的勇气与魄力。

技术债

出自于沃德·坎宁安之口,他首次将技术的复杂比作为负债,简称技术负债(技术债)。软件开发本来就是一项很复杂的工程,所以很多人都软件开发当作软件工程看待。开发出来的软件是用来服务于各个领域(金融,医疗,购物等),我们程序员不一定能完全了解某个领域(术业有专攻),所以就没法很好的把控这个领域的软件架构,必然就会产生技术负债。技术债是无法避免的,只是产生技术债或多或少的问题。

技术债可以分为三类:文档负债(包括需求分析负债、开发文档负债、测试文档负债);代码负债(架构负债、编码负债、业务负债);管理负债(工期负债、人员负债、协同负债、成本负债)。技术债是躲不掉的,不还技术债的代价更高。

总之,软件熵不可避免,需要建立软件熵意识,做好架构设计、评审、单元测试、CR、持续集成等手段降低软件熵;在软件开发过程中不要制造破窗效应,也不要容忍破窗效应;建立技术债意识,迭代开发过程中要预留时间偿还技术债,不让技术债随意膨胀。

相关文章

  • 软件质量意识思考

    意识是一个思考问题的方式,缺乏意识就比较容易出现问题,增强意识能够有效避免掉进对应的坑中,通过知识迁移的方式阐述质...

  • 软件质量的思考

    ​作为一个软件工程师,我们天天生产着代码。看着满天飞的软件技术。突然回过头来看看,感觉到迷茫的走了很多路,缺少了思...

  • 软件质量问题思考

    软件代码中的边界条件的考虑,概率性事件的考虑,反映一个程序员的逻辑思维是否严密;恰是这些细微的地方影响着软件...

  • 预防为主,何以为辅?——《混沌工程》译者序 v0.2

    在敏捷软件开发领域,质量内建是一个广受欢迎的实践。这种将质量意识贯彻到软件开发各个环节,从而节省返工成本的做法,其...

  • 软件质量思考(三)依赖模拟

    上一篇文章我们谈到如何分离领域逻辑以利于测试。然而领域层内部各种实体对象之间仍然会有依赖。单元测试测的是单元对象内...

  • 质量意识

    思维决定行动,行动形成习惯,习惯改变未来。 当代中国的质量文化相比发达国家而言,普遍不高。当代中国鲜有艺术家和高品...

  • 软件测试策略基础

    软件质量特性,反映了软件的本质。讨论一个软件的质量,问题最终要归结到定义软件的质量特性。而定义一个软件的质量,就等...

  • 软件质量

    软件质量 软件质量定义:概括地说,软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。 软件质量三个层次:...

  • 第1章 初识软件工程

    第1章 初识软件工程 1.5 软件质量实现 1.5.1 软件质量 功能质量(用户)软件符合要求且极少缺陷,性能正常...

  • 软件质量

    先占个坑

网友评论

      本文标题:软件质量意识思考

      本文链接:https://www.haomeiwen.com/subject/fakipqtx.html