【发布时间】:2015-06-30 14:42:22
【问题描述】:
我编写了如下布局的 JavaScript 代码:
function MyObject() {
this.doSomething(){
someSubRoutine();
}
function someSubRoutine(){
//Sub-routine code here
}
}
ReSharper 警告我
函数“someSubRoutine”在声明之前使用
确实,函数在声明之前就已使用,但 ReSharper 建议我在使用之前声明函数是否有实际原因?我认为由于 JavaScript 的提升能力,这不会是一个问题。我应该遵循这个建议还是继续忽略它?
【问题讨论】:
-
除了良好的编码习惯和可读的代码之外,没有任何实际原因(你不会有错误),因为 Javascript 是整体解析的(因为 DOM 在被完全遍历之前总是作为标记语言编译)
-
ReSharper 警告了很多它不应该做的事情。它还特别擅长破坏实体查询,因此 EF 无法在运行时针对 SQL 数据源处理它们。
-
有许多角度风格指南(如 this one 建议以“不良做法”的方式进行操作以提高可读性。因为大多数编码工具会使用键盘快捷键将您带到函数定义,看来2016年这个规定很傻。