问题标签 [code-readability]
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.
r - 我可以使用R属性来保存物理单位吗?
我可以(应该)使用 R 属性来保存物理单位和类似信息作为用户提示吗?
c# - 是否有一种更易读的方式来制作一长串 && 语句?
假设我有一个长而复杂的条件列表,这些条件必须为真才能运行 if 语句。
通常,如果我被迫做这样的事情,我只会将每个语句放在自己的行上,如下所示:
但是我还是觉得这有点乱。我很想将 if 语句的内容重构为它自己的属性,如下所示
但这只是把所有的混乱都转移了进去canDoSomethingInteresting()
,并没有真正解决问题。
正如我所说,我的 goto 解决方案是中间的解决方案,因为它不会像最后一个那样混淆逻辑,并且比第一个更具可读性。但一定有更好的办法!
回应 Sylon 评论的示例
java - 使用 map.get() 时使用 java Map.containsKey() 是多余的
一段时间以来,我一直想知道在最佳实践中是否允许避免使用containsKey()
on 方法java.util.Map
,而是对来自get()
.
我的理由是,对值进行两次查找似乎是多余的——首先是 the containsKey()
,然后是get()
。
另一方面,Map
缓存最后一次查找的大多数标准实现可能是缓存,或者编译器可以以其他方式消除冗余,并且为了代码的可读性,最好保留该containsKey()
部分。
非常感谢您的意见。
python - 具有双重条件的 for 循环
我正在寻找像for i in list where i < n
. 我想替换这个烂摊子:
有没有更紧凑、更优雅的东西?
python - Scipy 稀疏行/列点积
使用 scipy 计算稀疏矩阵的两列或两行之间的点积的可读且有效的方法是什么?假设我们要取两个向量x
和的点积y
,两列稀疏矩阵A
,那么我目前正在做:
A
以形式存储csc
以提高效率。有没有更易读的方法来获得点积而不牺牲效率?
注意:使用 Python 2.7.2 和 scipy 0.11.0
c# - 长c#文件分解
我有一个窗口窗体应用程序项目。目前我所有的代码都在 Form1.cs 文件中,这是默认文件。现在我在这个单个文件中有大约 1300 行代码。我想把这个文件代码分解成几个文件,以增加可读性和易于处理。有没有办法做到这一点。
谢谢
ocaml - 是否有其他方法可以解构 OCaml 中的选项类型?
OCaml 的选项类型在您的函数可能不返回任何内容的情况下非常有用。但是当我在很多地方使用这个的时候,我发现Some
在None
一个match ... with
.
例如,
还有其他方法可以简洁地解构选项类型吗?
php - 优化树状控制结构
我必须根据用户输入创建报告。用户回答一个问题,然后根据答案,我以树状结构向左或向右移动,并提出一个新问题。一些节点将有相同的问题,但不同的子节点。我不确定在代码可读性方面最好的方法是什么?
我想避免使用庞大的控制结构,因为它非常难以阅读,如下所示:
有没有更好的方法来处理它?这是我的树的样子
c++ - C++11 基于范围的 for 和 map:可读性
新的基于范围的 for 循环确实提高了可读性并且非常易于使用。但是,请考虑以下事项:
这可能是一个细节,但我发现如果我可以做类似的事情会更具可读性:
你知道等效的语法吗?
编辑: 好消息:C++17 有一个解决这个问题的提案,称为结构化绑定(参见1)。在 C++17 中,您应该能够编写:
解决了这个可读性问题
javascript - 可以在javascript中使用带有标签的break吗?
这样做有什么好处吗?它会导致可读性问题吗?