Javascript 在整个应用程序中使用唯一的方法名好吗?

Javascript 在整个应用程序中使用唯一的方法名好吗?,javascript,refactoring,webstorm,Javascript,Refactoring,Webstorm,我可能在不同的对象上使用相同的方法名: Frame.hide = function() { // } Dialog.hide = function() { // } Treasure.hide = function() { // } 在整个应用程序中保持方法名称的唯一性是否好,例如: Frame.hideFrame = function() { // } Dialog.hideDialog = function() { // } 像Webstorm这样的IDE所做的最大努力无法区分顶部代码

我可能在不同的对象上使用相同的方法名:

Frame.hide = function() {
//
}
Dialog.hide = function() {
//
}
Treasure.hide = function() {
//
}
在整个应用程序中保持方法名称的唯一性是否好,例如:

Frame.hideFrame = function() {
//
}

Dialog.hideDialog = function() {
//
}

像Webstorm这样的IDE所做的最大努力无法区分顶部代码段中的3个hide()方法。随着我们的应用程序越来越大(我们现在大约有80个类),有时几乎不可能浏览代码,因为方法名称是相同的,重构变得非常危险。

好吧,这真的是一个品味问题。我个人不喜欢在函数中重复对象名称。 所以我赞成:

Frame.hide = function() {}
Frame.show = function() {}
Frame.validate = function() {}
超过:


你的IDE不应该强迫你做一些可能不是最好的事情,在这种情况下,你可能想搜索另一个IDE(Netbeans?)

好吧,这真的是一个品味问题。我个人不喜欢在函数中重复对象名称。 所以我赞成:

Frame.hide = function() {}
Frame.show = function() {}
Frame.validate = function() {}
超过:


你的IDE不应该强迫你做一些可能不是最好的事情,在这种情况下,你可能想搜索另一个IDE(Netbeans?)

你的最后一段几乎回答了你自己的问题。在你的情况下,是的,这似乎很好。除非你需要相同的名称,这样你就可以在不知道是什么的情况下调用
hide()
,否则在你的情况下使用唯一的名称似乎是有意义的。你说“在我的情况下”,但这不应该扩展到“每种情况”“JS应用程序真的很大吗?”奥利弗瓦特金斯:我会说不,因为像Komodo和Visual Studio这样的其他IDE在这方面没有问题。所以对我来说,这是一个Webstorm特有的问题。@slebetman,你确定如果我在某处有一个方法,myMethod(x){x.hide},VS和Komodo将能够智能地准确地说出调用哪个hide()方法吗?你的最后一段几乎回答了你自己的问题。在你的情况下,是的,这似乎很好。除非你需要相同的名称,这样你就可以在不知道是什么的情况下调用
hide()
,否则在你的情况下使用唯一的名称似乎是有意义的。你说“在我的情况下”,但这不应该扩展到“每种情况”“JS应用程序真的很大吗?”奥利弗瓦特金斯:我会说不,因为像Komodo和Visual Studio这样的其他IDE在这方面没有问题。所以对我来说,这是一个Webstorm特有的问题。@slebetman,你确定如果我在某个地方有一个方法myMethod(x){x.hide},VS和Komodo能够智能地准确地说出调用了哪个hide()方法吗?我知道重复对象名称并不优雅。但是,撇开优雅不谈,如何在不与代码中对话框的hide()方法冲突的情况下获得hide()方法的快速使用快照呢。Netbeans在查找用法和重构时有区别吗?顺便说一句,IDE从未强迫我做任何事情。它正在尽最大努力重命名一个方法,或者找到它的用法,但似乎无法很好地处理JS。抱歉,我来自Java背景,所以重构、代码完成等是我一直习惯的事情。好吧,最新版本的Netbeans似乎有一个关于查找用法/重构的错误:但是,当使用函数的自动完成时,它确实检测到了正确的类(例如Frame.hi将显示Frame.hide()及其javadoc),我不知道Netbeans可以做JSI,但我知道重复对象名并不优雅。但是,撇开优雅不谈,如何在不与代码中对话框的hide()方法冲突的情况下获得hide()方法的快速使用快照呢。Netbeans在查找用法和重构时有区别吗?顺便说一句,IDE从未强迫我做任何事情。它正在尽最大努力重命名一个方法,或者找到它的用法,但似乎无法很好地处理JS。抱歉,我来自Java背景,所以重构、代码完成等是我一直习惯的事情。好吧,最新版本的Netbeans似乎有一个关于查找用法/重构的错误:但是,当使用函数的自动完成时,它确实检测到了正确的类(例如Frame.hi将显示Frame.hide()及其javadoc),我不知道Netbeans可以做JS