问题标签 [conventions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
conventions - 人们在现实世界中使用匈牙利命名约定吗?
是否值得学习该约定,或者它是否会损害可读性和可维护性?
.net - .NET 测试命名约定
在 .NET(或任何其他语言或平台)中命名测试程序集的最佳约定是什么?
我主要分为这些选项(请提供其他选项!):
- Company.Website -项目
- 公司.网站.测试
或者
- 公司网站
- Company.WebsiteTests
第一个解决方案的问题在于它看起来像 .Tests 是站点的子命名空间,而在我看来它们确实更平行。当一个新的子命名空间发挥作用时会发生什么,比如Company.Website.Controls,例如,我应该将对该命名空间的测试放在哪里?
也许它甚至应该是:Tests.Company.Website和Tests.Company.Website.Controls等等。
language-agnostic - 为什么不在同一行声明多个相同类型的变量?
为什么在一行上声明变量是不好的做法?
例如
代替:
coding-style - 你认为软件公司应该强加开发人员编码风格吗?
如果您认为不应该,请解释原因。
如果是,您认为指南应该有多深?例如,应该包括代码的缩进吗?
performance - 是否应该在 for 循环中使用 < 或 <=
如果您必须遍历一个循环 7 次,您会使用:
或者:
有两个考虑:
- 表现
- 可读性
为了性能,我假设使用 Java 或 C#。使用“小于”或“小于或等于”是否重要?如果您对其他语言有见解,请指出是哪一种。
为了便于阅读,我假设基于 0 的数组。
UPD:我提到的基于 0 的数组可能会让人感到困惑。我不是在谈论遍历数组元素。只是一个一般的循环。
下面有一个很好的观点,即使用一个常数来解释这个幻数是什么。所以如果我有“ int NUMBER_OF_THINGS = 7
”,那么“ i <= NUMBER_OF_THINGS - 1
”会看起来很奇怪,不是吗。
c# - 我应该使用 default(Foo)、Foo.Empty 还是 null?
因此,C# 现在允许您用于default(Foo)
获取已识别的“尚未填充”/空的类实例——我不确定它是否完全相同new Foo()
。许多库类还实现了一个Foo.Empty
属性,该属性返回一个类似的实例。当然,任何引用类型都可以指向null
. 所以真的,有什么区别?什么时候是对还是错?什么更一致,或者表现更好?在检查一个对象在概念上是否“尚未准备好迎接黄金时段”时,我应该使用哪些测试?不是每个人都有Foo.IsNullOrEmpty()
。
language-agnostic - 如何命名变量
- 你用什么规则来命名你的变量?
- 在哪里允许使用单字母 var?
- 你在名字里放了多少信息?
- 例如代码怎么样?
- 您首选的无意义变量名是什么?(在 foo & bar 之后)
- 为什么它们拼写为“foo”和“bar”而不是FUBAR
ruby - Ruby 中的标准文件命名约定
对于包含给定类 SomeCoolClass 的文件,正确或标准的文件名是什么?
或其他一些变化?
我注意到在 Ruby 标准库中,使用了版本 1、2 和 3。
javascript - 什么时候应该在 JavaScript 中使用双引号或单引号?
console.log("double");
对比console.log('single');
我看到越来越多的 JavaScript 库在处理字符串时使用单引号。使用其中一种的原因是什么?
我认为它们几乎可以互换。