Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

第八题:什么是技术债务? #8

Open
Ray-56 opened this issue Aug 16, 2019 · 2 comments
Open

第八题:什么是技术债务? #8

Ray-56 opened this issue Aug 16, 2019 · 2 comments
Labels
扩展 技术以外的扩展等

Comments

@Ray-56
Copy link
Owner

Ray-56 commented Aug 16, 2019

什么是技术债务?

@Ray-56 Ray-56 added the 扩展 技术以外的扩展等 label Aug 16, 2019
@GenXiaoLe
Copy link
Collaborator

GenXiaoLe commented Aug 16, 2019

技术债务

  • 概念
    由于产品版本代码的不断迭代以及开发成员的更换后,产品代码的维护和升级越来越难以进行,这种情况称之为技术债务
  • 出现原因(包括以下原因但不限)
  1. 开发人员的技术以及水平问题,写出的代码逻辑不规范和太过冗余,导致接手人员难以维护。
  2. 产品开发周期太短,导致为了产品功能和效果牺牲了代码质量。
  3. 后续开发成员由于种种原因无法对代码进行重构,只能在基础上不断打补丁,导致代码越来越难易维护。
  • 如何解决
    代码债务无法避免,只能开发人员经常review代码,规范代码写法,完善注释,简化代码逻辑,增强产品的健壮性等方法,尽量保证代码的质量和可读性。

@MMmaXingXing
Copy link

技术债务(软件体系结构和软件开发中最终产生结果是差劲的代码)

1、概念
债务可以被认为是工作之前必须完成特定的工作。从演化代码开始,经常有需要对变化做出协调的,同时也包括其他部分的代码或文档,也被认为是在一些在未来必须支付的债务。它也会在重构中(消除重复/冗余代码),随着时间的推移让代码质量恶化。

2、产生原因

  • 项目需求的变更或者开发人员能力问题等原因造成代码逻辑不规范
  • Bugs 出现bug之后,在原有基础上缝缝补补,或者修改阶段过于偏向产品和功能而并未对整个解构有完整的感知。
  • //TODO 一些TODO写的时候目的是稍后阶段重新审视这些问题。这些项目在不知觉的情况下变成了技术债务
  • 遗留代码,无法摆脱的一些旧的技术依赖
  • 工作中的项目,由于项目的运行,无法对原有一些模块进行重构

3、解决原因

  • 尽量今日事今日毕,TODO等类型的代码,尽量在发现的当下直接优化,即使它会使你消耗掉更多的时间,不要试图去躲避,否则可能会造成更多的技术债务。
  • 多想多做多思考,规范代码写法,多写注释,简化代码逻辑。
  • 将你发现的所有问题,尽量都记录下来,列为一个待检表(偿债计划表),很多债务你没办法当场解决,等待合适的修补时间,有些没有办法解决的问题,可以在下个项目设计阶段提前预防,或者代码书写时提前优化。
  • 规范代码写法,规范代码写法,规范代码写法。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
扩展 技术以外的扩展等
Projects
None yet
Development

No branches or pull requests

3 participants