重写旧类的命名约定?

时间:2013-09-23 15:48:43

标签: class refactoring naming-conventions naming legacy

在我的工作中,我最近不得不重写一个类的实现来适应它,以便它适用于我们的新系统。然而,我需要保留旧的实现,因为它仍然在使用旧系统的其他地方使用。

该类名为SecurityManager。现在,我正在创建一个新类SecurityManager,它将执行相同的操作,但基于更新的表。我的问题是,我不知道该怎么称呼这个新的。

我是否打电话给它:

  • NewSecurityManager
  • SecurityManager2
  • SecurityManager360
  • SecurityManager2000
  • SecurityManager23_09_2013

是否有任何命名约定已经解决了这个问题并提出了一些命名方案?

1 个答案:

答案 0 :(得分:0)

最好不要更改类名,而是在旧类中添加新接口。这使得增量工作更容易(您可以逐渐使旧方法调用新方法,并最终消失)。但是,这并非总是可行。

另一种可能性是花一些时间将旧类更改为OldSecurityManager(或将其移至OldSomething命名空间)。通过这种方式,可以以稳定的方式“安装”新类,而不必担心会永远留在您身边的丑陋名称(或直到SecurityManager3)。

组合解决方案是在新的前面提供旧接口的代理 - 这也使增量工作成为可能,并且更安全(特别是使用 TDD )。