ascoders/weekly

精读《维护好一个复杂项目》

ascoders opened this issue · 6 comments

谈谈我在维护复杂项目时的感悟,原创。


精读《维护好一个复杂项目》

有什么办法可以让打工人小张变成主人翁小张呢?

在业务中会遇到,某些公有方法,不满足一个或者好几个场景,此时能想到有两个办法。

  1. 复制一份代码,在这个基础上改动一小部分。这样会导致很多重复代码。错误的成本比较小。
  2. 在原有代码上通过加入参,判断的方式来解决,这样代码重复量小,但是出bug的杀伤力却很大。
    在这两种情况下,有时候很难做出权衡。

在业务中会遇到,某些公有方法,不满足一个或者好几个场景,此时能想到有两个办法。

  1. 复制一份代码,在这个基础上改动一小部分。这样会导致很多重复代码。错误的成本比较小。
  2. 在原有代码上通过加入参,判断的方式来解决,这样代码重复量小,但是出bug的杀伤力却很大。
    在这两种情况下,有时候很难做出权衡。

两个公共方法,然后将重复代码提取为私有方法

kewab commented

这改动有点大。复杂的情况感觉用第一种,简单的用第二种,中等复杂的可以考虑抽出公共的。> > 在业务中会遇到,某些公有方法,不满足一个或者好几个场景,此时能想到有两个办法。

  1. 复制一份代码,在这个基础上改动一小部分。这样会导致很多重复代码。错误的成本比较小。
  1. 在原有代码上通过加入参,判断的方式来解决,这样代码重复量小,但是出bug的杀伤力却很大。

在这两种情况下,有时候很难做出权衡。

两个公共方法,然后将重复代码提取为私有方法

打工人写出的公有方法有时候也是难用的很

持续地对项目进行「规范化」「模块化」「自动化」「反馈化」,保证项目

  1. 符合 Github 上的优秀项目的规范
  2. 持续降低复杂度
  3. 持续降低项目的开发、打包、运维等难度
  4. 通过监控和反馈,确保项目真的被客户访问,有精确地在解决客户问题