你有没有写过函数Foo,在你的程序中使用它,然后最终决定重构你的代码并重写另一个函数Bar,这比Foo好,并决定“哦,好吧,我们将使用Bar而不是Foo从现在开始”。但是,您决定将Foo声明为函数Bar的别名,而不仅仅是删除Foo并替换代码中的每个Foo事件?
有些人可能会说:你为什么不重写Foo函数并保持其名称为Foo,所以你不必用Bar替换Foo的每一个出现?好吧,由于重构,Foo不再是一个合适的名字,因为它没有反映出函数的作用,所以我决定不保留它的名字。
这是某种逆转相容性吗?
编辑:假设
答案 0 :(得分:1)
Foo was written by one of you coworkers
said coworkers are used to Foo
you're the moron in the story who thinks is smarter than the others and wrote Bar
询问你的同事并解释你为什么要重命名它。除非他们真的相信原来的名字更好,否则他们不会关心他们。如果该方法位于面向公众的API中或由数百名开发人员使用,则弃用它。否则,只需使用重构工具将其重命名为无处不在。
如果你试图让你的代码像DSL一样读取并想要两种方式来表达相同的东西(比如在Ruby中),你也可以使用别名。