技术债务

来源:互联网 发布:网络娱乐平台排行 编辑:程序博客网 时间:2024/05/01 09:19
     是一个的隐喻,可以是在软件体系结构和软件开发中最终产生结果是差劲的代码。债务可以被认为是工作之前必须完成特定的工作。从演化代码开始,经常有需要对变化做出协调的,同时也包括其他部分的代码或文档,也被认为是在一些在未来必须支付的债务。
它是:
     在重构中 (消除重复/冗余代码),随着时间的推移让代码质量恶化。正如金融债务,这是在短期内容易做到的事情。然而随着时间推移,有趣的是你的支付是巨大的,这些 债务是有利息的,恶心的代码是不容易维持或修改它,已经变得重写程序是更加可行的解决方案。所以,问题是你是否要付一点现在解决的小问题或要付出更多的时 间在N个月之后,代码已经变成侏罗纪公园2。
     技术债务的常见原因包括:
1、商业压力,在所有完整的需求情况下,业务需求需要软件提前发布的,包括那些未完成的需求变化。
2、缺乏软件过程或理解,企业对技术债务的概念是盲目的,并做出决定,而不考虑的影响。
3、缺乏构建松散耦合的组件,功能模块是硬编码的,当业务需求发生变化时,该软件缺乏灵活性。
4、缺乏测试组件,它鼓励快速和低风险的打补丁的方式来修正Bugs。
5、缺少文档,其中的编码没有一个必要文档支持。这些支持文档代表是这项工作必须支付的债务。
6、缺乏协作,周围团队没有共享知识从而工作效率受到影响。同时对两个或两个以上的代码分支并行开发,可能会导致成为的技术债务,因为最终工作是将合并成一个单一源代码库。这时可能有更多的变化需要进行隔离,债务越积越多。
7、推迟重构。随着项目发展,需求变化,部分代码已经变得笨拙,变得必须进行重构,以应对未来的需求。重构推迟的时间越长,就需编写更多的代码,更多的债务堆起来,必须花费更多支付的时间来完成重构。



0 0