首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >增加代码库的大小和复杂性是否值得使其完全可配置?

增加代码库的大小和复杂性是否值得使其完全可配置?
EN

Software Engineering用户
提问于 2016-01-19 02:12:24
回答 3查看 381关注 0票数 1

我正在重新创建一个网络应用程序(Google脚本),这是我几个月前制作的,我决定让它在这一次完全可配置。这样,我就不必修改任何代码或设置,以适应它操作、查询和显示的数据中的新变化。我还进行了一些优化,通过缓存将应用程序的响应能力提高了近一个数量级(从2-10秒下降到1秒或更短)。

我几乎完成了,在后退一步之后,我注意到我的代码库的大小几乎是以前的3倍,而且感觉比之前要复杂得多。我不再硬编码任何值或设置,我可以在不破坏程序行为的情况下,从电子表格或数据库中交换、添加或删除列。

然而,我不确定这是否“值得”。我可能不需要进行修改以避免崩溃,但是如果我需要在几个月后跳转,我怀疑我的代码是如何工作的。

EN

回答 3

Software Engineering用户

回答已采纳

发布于 2016-01-19 02:50:25

没有硬性规定。但是,在考虑重新设计一个系统时,这个问题总是应该仔细考虑的。

一般来说,将任何设置硬编码到程序中是非常糟糕的做法。配置设置和较大的外部值应该始终来自文件。数据和代码(或逻辑)的这种分离对于任何合理大小的应用程序来说,都应该使您的代码更加可读性和可管理性。

一般来说,这应该是一个目标从一开始。如果您发现自己(就像本例中的情况一样)有一个杂乱无章的代码库,并且到处都是硬编码的值,那么您需要仔细考虑用“正确”的方式重构它是否值得付出代价。重构一个现有的应用程序既费时又不给最终用户(或你的雇主)带来直接的好处。

虽然在现实生活中有这样丑陋的代码可能会让人感觉很糟糕,但在现实生活中,你往往没有把代码抛光到你个人所能接受的程度的奢侈。只有当代码的可维护性成为进一步开发工作的障碍时,重构才是值得的。

在这种情况下,这是你的应用程序,所以你是完全控制。此外,你已经为重写投入了工作,所以恭喜你!但是,您的代码不应该比以前更复杂:

我注意到我的代码库的大小几乎是它的3倍,而且感觉比之前要复杂得多。

规模的增长是预期的,但你所说的“复杂”在那里很重要。你觉得代码更难推理和导航吗?如果是这样的话,这是一个巨大的红旗,因为你自己写了所有的代码!想象一下,如果您是一家公司的新开发人员,并希望开始从事此代码库的工作。你觉得这很容易还是很难?

另一方面,如果你所说的“复杂”只是意味着有更多的逻辑在进行,但你仍然很了解它,那就不那么担心了。如果向应用程序添加更多的功能,就会有更多的移动部件。但是,整个应用程序的代码的总体质量应该保持大致相同。

票数 3
EN

Software Engineering用户

发布于 2016-01-19 02:48:01

听起来,您在权衡比原始代码更难理解的代码成本,以及能够“在不破坏程序行为的情况下交换、添加或删除电子表格或数据库中的列”的好处,以及将程序速度提高10倍(甚至更多?)的优化。只有你才能真正的回答它是否值得,但是如果改进的性能和功能不仅仅是你喜欢容易阅读的代码(但是维护起来很费时),那么它是值得的。

如果您担心您的高级代码库更难理解,那么现在就开始记录它,以免忘记它是如何工作的。

票数 1
EN

Software Engineering用户

发布于 2016-01-19 03:28:10

您是否根据特定的最终用户需求进行更改?

  • 如果是的话,这是值得的用户有这种改变。
  • 如果不是,您是否认为“完全可配置行为”对于任何可预见的未来需求都是可取的,您肯定会实现这些需求吗?
    • 如果是的话,它“也许”值得未来的改变。我说“也许”是因为考虑到增加的复杂性,你只能说到那时它是否值得。
    • 如果不是,您在实现这些更改时是否喜欢或学习了一些新的东西?
      • 如果是的话,只有你才能判断它是否值得。
      • 如果不是,它可能值得在stackexchange上获得一些声誉点:)
票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/307739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档