属性 名称与非匿名函数相同
Property name same as non anonymous function
为了更好的调试目的,我想使用非匿名函数,但遇到了以下问题。
当我有一个返回方法对象的函数时(比如在 angularjs 工厂中),将返回的 属性 和函数命名为相同的名称是不是不好的风格?
点赞:
angular
.module('myModule', [])
.factory('foobar', foobar);
function foobar() {
return {
foo: function foo() {console.log('foo')}, //Is this ok
bar: function barFunc() {console.log('bar')} //Or this way better
}
}
最好的方法是这样的:
function foobar() {
return {
foo() { console.log('foo') }
};
}
这不是风格问题,也没有确定的答案。肯定没有错 将函数表达式命名为 属性。
但是,您的目标是获得更好的调试体验。所以您应该问问自己:“什么名称最能帮助我通过名称识别代码中的函数?”。无论是 foo
、fooFunc
、foobar_foo
(包括模块名称)还是其他任何内容,您都必须自己决定。
这两个选项都很好 - 唯一的区别是在调试时您会看到函数的名称而不是 anonymous function
,这非常有用。
总结一下 - 我建议您给它们命名,但命名完全由您决定:-)
为了更好的调试目的,我想使用非匿名函数,但遇到了以下问题。
当我有一个返回方法对象的函数时(比如在 angularjs 工厂中),将返回的 属性 和函数命名为相同的名称是不是不好的风格?
点赞:
angular
.module('myModule', [])
.factory('foobar', foobar);
function foobar() {
return {
foo: function foo() {console.log('foo')}, //Is this ok
bar: function barFunc() {console.log('bar')} //Or this way better
}
}
最好的方法是这样的:
function foobar() {
return {
foo() { console.log('foo') }
};
}
这不是风格问题,也没有确定的答案。肯定没有错 将函数表达式命名为 属性。
但是,您的目标是获得更好的调试体验。所以您应该问问自己:“什么名称最能帮助我通过名称识别代码中的函数?”。无论是 foo
、fooFunc
、foobar_foo
(包括模块名称)还是其他任何内容,您都必须自己决定。
这两个选项都很好 - 唯一的区别是在调试时您会看到函数的名称而不是 anonymous function
,这非常有用。
总结一下 - 我建议您给它们命名,但命名完全由您决定:-)