【发布时间】:2013-10-16 20:00:40
【问题描述】:
我正在重构一个相当大的 JS 文件,其中包含许多不相关的方法,该文件将根据它们的用法将这些方法重新组合在一起,并根据需要重命名其中的一些(以防止产生误导性名称)。
但是,实际上使用此代码的大多数网页都分布在不同的代码分支中,这使我无法进行简单的查找和替换。我可以在所有不同的分支中执行此操作,但这需要同时在 30 多个分支中进行维护,或者一旦更改合并到其他分支中(由我或其他团队成员),可能忘记执行重命名。
如果这是 C#,我可以只用 [Obsolete] 标记该方法,它会根据需要标记必要的更改,所以我正在寻找一些等效的东西。在一段时间内,我仍会通过将调用重定向到新方法来提供旧接口的功能,但我想“强制”人们在出于其他原因在页面上工作时切换到新接口。
除了添加debugger;之外,还有其他方法可以做类似的事情吗?
声明和对每个方法的详细注释,以便它在开发时中断而不是在生产中?
【问题讨论】:
-
我不知道有任何足够的静态分析工具来解决这个问题——这似乎是大多数动态语言的弱点。
-
您知道您是从事生产还是开发工作(即变量 debug=true)?
-
@megawac 我不相信我们在 javascript 方面的调试和发布之间有什么不同。不过,我显然可以在 C# 方面弄清楚这一点(如果调试,可能会在我的页面中注入一个变量?)其他开发人员最终都在 Debug 中进行编码和测试,而我们所有的生产代码都在 Release 中。
-
是的,如果你有一个调试变量,你可以做一个像
if(debug){console.warn("using obsolete method")}这样的语句
标签: javascript deprecated deprecation-warning