美文网首页
二十五、尽早抽象和持续重构

二十五、尽早抽象和持续重构

作者: 此间有道 | 来源:发表于2020-07-27 13:13 被阅读0次

程序员在日常开发新的功能或重构已有功能时常会预见两种选择:
1)可预见的抽象,尽早抽象,自顶向下推进重构;
2)不可预见的抽象,持续迭代重构;
当发现了可抽象的点时,应该尽早抽象——这是基于时间和精力成本来说最优的选择。但是囿于业务不清晰或抽象能力、看不到抽象点时,此时选择踏实的实现功能,然后持续重构也是大数路径。

一、可预见抽象时,尽早抽象

在开发一个功能时或多个相似度很高的功能时,此时如果能预见性或预先识别出或抽象出他们的公共逻辑。

1. 优点:

1)高度的抽象可以简化功能流程和模型;
2)节省开发时间;同样逻辑写一处即可;
3)节省后期修改时间;抽象合理的话代码逻辑也会比较清晰,代码更易于修改和重构;

NOTE:开发加后期修改的时间可能相差数倍。

2. 难点:

1)对抽象能力要求较高

二、不可预见抽象时,选择持续重构

若一个功能当前无法预见或看到共同逻辑,则需要持续迭代重构;在看不到抽象的可能时,持续重构是当前最好的选择。

1. 优点:

1)易于上手

2. 缺点:

1)后期重构耗时较多;
2)如果不足够抽象,会导致业务逻辑不足够清晰和易于理解;

三、有意识提高抽象能力

这两种选择往往和抽象水平,开发经验和具体功能相关。不可一蹴而就,但需有意识提高抽象能力。

相关文章

  • 二十五、尽早抽象和持续重构

    程序员在日常开发新的功能或重构已有功能时常会预见两种选择:1)可预见的抽象,尽早抽象,自顶向下推进重构;2)不可预...

  • [Python设计模式] 04 - 代理模式

    需求变更应该尽早发现,发现的越早代码的抽象越容易,等到业务逻辑变得庞大复杂,已有代码已经到处在使用时,重构的成本就...

  • 持续重构

    在这一年的开发过程中,从什么都没有到现在的稳定迭代,其中经历了多次的重构工作,这里来聊聊其中的一些看法。 我们的模...

  • 代码重构之抽象

    最近一直在重构代码,需求是这样的,要在关于session操作的时候添加缓存,这个session指的是特定的用户行为...

  • 架构设计原则

    架构坚持组件化,持续重构,小而美。架构设计十大原则: 1.全面解耦原则:对业务进行抽象建模,业务数据与业务逻辑解耦...

  • 成为Java顶尖程序员,先过了下面问题!(十)

    十、设计模式与重构 1.你能举例几个常见的设计模式 1)单例模式 (Spring Bean)2)抽象工厂模式和工厂...

  • 关于项目的持续改进和重构

    先把初期功能基本完成,然后一边迭代新功能一边开始用更加科学和标准的方法来重构现有的项目。 重构内容 使用 TS 重...

  • 父亲节

    二十五年为人父,辛酸尝尽方知晓。 严父慈恩大如天,常恨尽孝未尽早。

  • 读《重构—改善既有代码的设计》的一些想法

    第一章,重构时的一些小技巧1、对现有业务模型归类,模型抽象是第一步。需要抽象方法,抽象类等。2、合理运用多态,替换...

  • CI/CD和 DevOps还在傻傻分不清吗?今日一文让你通透

    基本概念 持续集成 (Continuous Intergration) 持续集成的核心意义:通过自动化测试尽早的发...

网友评论

      本文标题:二十五、尽早抽象和持续重构

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