问题标签 [coding-style]
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.
c++ - 如何检查是否相等?(0 == i) 或 (i == 0)
好的,我们知道下面两行是等价的——
(0 == i)
(i == 0)
此外,过去鼓励使用第一种方法,因为如果您不小心使用了“=”而不是“==”,编译器会给出错误消息。
我的问题是——在当今这一代非常漂亮的 IDE 和智能编译器中,您仍然推荐第一种方法吗?
特别是,当我看到以下代码时,这个问题突然出现在我的脑海中——
在我看来,我永远不会推荐上述内容。有没有第二意见?
c# - 类中项目的顺序:字段、属性、构造函数、方法
在类结构方面是否有关于项目顺序的官方 C# 指南?
它去吗:
- 公共领域
- 私有字段
- 特性
- 构造函数
- 方法
?
我很好奇是否有关于物品顺序的硬性规定?我有点到处都是。我想坚持一个特定的标准,这样我就可以在任何地方做到这一点。
真正的问题是我的更复杂的属性最终看起来很像方法,并且它们在构造函数之前的顶部感觉不合适。
任何提示/建议?
regex - 正则表达式真的可以维护吗?
我见过的任何使用正则表达式的代码都倾向于将它们用作黑匣子:
- 放入字符串
- 魔术正则表达式
- 拿出字符串
在生产代码中使用这似乎不是一个特别好的主意,因为即使是很小的更改通常也会导致完全不同的正则表达式。
除了标准是永久不变的情况外,正则表达式是做事的方式,还是尝试不同的方法更好?
language-agnostic - 你如何写一个(简单的)变量“切换”?
鉴于以下成语:
1)
p>2)
p>3)
p>4)
p>你更喜欢哪个?为什么?
我们假设最常见的执行路径condition
是错误的。
我倾向于学习使用 1),尽管我不确定为什么我更喜欢它。
注意:以下示例可能更简单——因此可能更具可读性——但并非所有语言都提供这种语法,并且它们不适合将变量赋值扩展为将来包含多个语句。
f# - F# 风格 - 首选 () 或 <|
您发现自己最常使用这两种替代方法中的哪一种,哪种更“惯用”?
- f arg (obj.DoStuff())
- f arg <| obj.DoStuff()
logging - 代码与日志记录的比率?
理想的代码与日志记录比率是多少?我不习惯写日志,因为我开发的大多数应用程序都没有太多的日志记录。
最近虽然我换了工作,但我注意到您看不到调用 log4net 的应用程序代码。我很欣赏这很有用,但肯定有太多的调试语句和没有任何调试语句一样糟糕?
有一些日志语句会告诉您每个方法何时开始和结束以及它们返回的内容。当几乎所有事情都完成时。
使用反射在编译时添加日志语句的插件会不会更容易,这样它们就不会在您尝试查看代码时妨碍您?
同样在这些强大的 IDE 和远程调试的日子里,这么多的日志记录真的需要吗?
design-patterns - 将算法封装到一个类中
我想知道将算法封装到一个类中有多常见?更具体地说,不是有许多单独的函数在彼此之间转发公共参数:
将公共参数封装到一个类中,并在构造函数中完成所有工作:
不必通过函数参数转发公共参数和中间结果似乎非常实用。但我还没有看到这种“模式”被广泛使用。可能的缺点是什么?
ruby-on-rails - ruby/ruby on rails 内存泄漏检测
我使用 ruby on rails 编写了一个小型 Web 应用程序,它的主要目的是上传、存储和显示来自 xml(文件最多几 MB)文件的结果。运行大约 2 个月后,我注意到 mongrel 进程使用了大约 4GB 的内存。我对调试 ruby 内存泄漏进行了一些研究,但找不到太多。所以我有两个问题。
- 有没有什么好的工具可以用来查找 Ruby/rails 中的内存泄漏?
- 什么类型的编码模式会导致 ruby 中的内存泄漏?
java - Java 接口中的方法是否应该使用或不使用公共访问修饰符来声明?
Java 接口中的方法是否应该使用或不使用public
访问修饰符声明?
当然,从技术上讲,这并不重要。实现 an 的类方法interface
always public
。但是什么是更好的约定呢?
Java 本身在这方面并不一致。参见例如Collection
vs.Comparable
或Future
vs. ScriptEngine
。
c++ - 包含类变量初始化的 C++ 类初始化
今天注意到一个同事的一些代码,它在初始化时初始化了类变量。然而,它引起了警告,他说,因为它们的顺序。我的问题是为什么最好在当前位置而不是在大括号内进行变量初始化?