1

我是一名承包商,经常被带入项目中,以便在截止日期前实现功能。尽管我的步伐常常比底层设计更快。因此,在等待最终设计时,我经常不得不创建函数/方法以初步方式执行任务。

举个例子,目前我的任务是以一种对于当前数据库设计来说过于复杂的方式执行一些记录的默认排序(实际上我会使用 MySQL 的“字段”功能,除非我认为 Java/Hibernate 不支持它)。所以我创建了一个函数,记录可以暂时在应用程序级别进行排序,一旦必要的数据库设计工作完成,可以重新实现或完全避免。

我担心的是,一旦完成了所有必要的设计(一般和/或特别针对上述场景),我不想留下可能不必要的功能/方法的痕迹。有时它们可​​能会为设计增加价值,但有时它们最终可能会成为不必要的间接层。

我应该对此有多担心?我能做些什么来减轻这种情况?通常作为一个非常短期的承包商,我通常没有时间或权力来实施诸如“战略模式”之类的东西,如果我实际上负责整体设计,这可能是我的倾向。

4

1 回答 1

2

我认为随着代码库的发展,预计会有一定数量的杂乱无章。即使您尝试系统地删除旧的未使用代码,也很难将其全部删除。在我的系统中找到可以删除的未使用代码总是令人满意的。

强类型是你的朋友,因为它允许你以比弱类型更好的方式跟踪类型和用法。所以远离那些字符串数据类型,它们使清理变得更加困难。

一个非常巧妙的技巧是,如果您可以通过同时运行代码覆盖工具的测试系统重放来自生产系统的 24 小时流量。这通常是死代码的金矿,但很难找到时间来处理如此大量的清理以及其他优先事项;)

于 2009-06-02T16:30:26.340 回答