问题标签 [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.
c# - 更易读的空引用检查方式
在我编写的许多应用程序中,我发现自己为 DBML 对象的子类分配了一个默认值。这是我必须这样做的当前方式的示例:
理想情况下,它是最易读的:
但是对于任何为空的外键对象,都会出现 NullReferenceException。我不认为 null 合并在这里可用,但是有没有其他简洁的方法来完成这个非常频繁的任务?也许带有类/方法扩展,甚至是 VS 宏?
我在这个例子中使用了 Northwind 数据库:
接受任何和所有建议。
c++ - 宏是否使代码更具可读性?
我就宏及其可读性进行了辩论。我认为在某些情况下使用宏可以使代码更短、更易于理解并且阅读起来不那么累。
例如:
我更喜欢这里的第二个选项,因为它简短而紧凑,而且大写锁定文本比驼峰式大小写更清晰、更易于阅读。
这种方法有什么问题吗,特别是在 C++ 中,还是只是不好(但可以接受)的风格?
c++ - 在 Shutting Yard 中处理带括号的表达式
我有以下手写循环来处理带括号的表达式:
(output
并且punctuators
都是 type std::vector<token>
,其中token
是一个非常简单struct
的,由 achar kind
和一个unsigned value
数据成员组成。)
我想知道从手写循环切换到算法是否会提高可读性:
但不知何故,我觉得这段代码的可读性差了很多,可能是由于使用了反向迭代器,尤其是转换为普通迭代器。有更好的解决方案吗?您是否同意手写循环更具可读性,或者我只是在算法方面还没有看到光明?
java - 从可读性的角度来看 Java 变量的最佳名称长度
考虑以下 Java 代码段中的常量:
上面的常量CUSTOMER_ID_NOT_INTEGER用于存储不能转换为 Integer 的 String,因为它的值大于 Integer.MAX_VALUE。
这从变量的名称中并不明显,该变量最多表示该值是“无效的”customer_id。没有传达为什么该值无效。
一种选择是写一条评论,内容如下:
但是,如果我们必须编写自文档代码而不使用注释,那么唯一的其他选择就是使变量名称更具描述性。就像是 :
但是,使用上述选项,我对变量名的长度不满意,特别是如果您考虑以下代码完成 2 中关于最佳变量名长度的片段:
你会建议我如何平衡变量名的长度和代码的可读性?
c++ - C++ 嵌套 If 语句的可读性
对于 if 语句,我有相当复杂的逻辑。我目前正在使用:
其中 boolOne、boolTwo 和 boolThree 是逻辑操作(可能是x < y
“myObject->getBool”等)。
我不知道如何在不将||
条件嵌套在第三条if
语句中的情况下使其易于阅读的更好方法。
我遇到困难的原因是or
运营商使它看起来if
可能需要第三个陈述。
一种选择是这样做。
或者,我可以做类似的事情
甚至可以创建一个单独的函数来尝试将所有内容或组合验证为单个返回值?
或者,我可以尝试以不需要的方式重组代码,这可能需要大量时间来完成。
我的问题:格式化复杂问题的最佳方式是什么if
- 其中包括更复杂的评估而不仅仅是if (!A && B && C)
变化?||
当您将语句与&&
语句组合到一行中时,似乎事情变得无可救药地难以理解(尤其是当您对 boolOne、boolTwo 等进行复杂的评估时) 。是否遵循相同的原则 -格式化具有多个条件的 if 语句的最佳方式- 也适用于此处,或者在使用各种逻辑运算符时是否存在根本差异?
python - 我应该在整个代码中继续使用 self.__local_object 吗?
我正在扩展一位前同事的代码(Python3),并亲自发现那些反复self.__local_object.x=some_result
烦人和阻碍可读性的代码。即代替
我宁愿用
但是,我还没有熟悉 Python 开发,如果我为引用的对象引入这样的(希望如此)本地别名,我可能会错过一个黄金准则,这将使进一步的维护成为一场噩梦。
PS:不,self.__local_node
' 的值在该代码的任何地方都没有改变。
javascript - jQuery可读性:在里面插入表格元素
我希望得到一些关于如何编写更漂亮的 javascript 和 jQuery 代码并获得更多可读性的建议。
在这种情况下,我希望在列表元素中插入表格。列表和表格都是使用脚本动态添加的。
我有一些这样的代码:
正如我在上述代码的注释中所写。我可以使用 append 方法并在其中放置大量 HTML 代码。然而它看起来真的很丑……在上面的例子中,我只是在列表中添加了一行。在最终目标中,我必须添加三行,大约 6 个单元格。每个单元格都有自己的内容样式集。真的会一团糟。
任何建议将不胜感激!谢谢!
if-statement - 好的做法:将值与布尔值进行比较?
大多数时候,我更喜欢这样写:
而不是这个
因为我觉得它更容易阅读(但我确实理解它没有意义)。
我想知道是否有关于这种做法的共同协议。大多数开发人员做什么?而且我想知道编译器是否正在进行额外的比较,或者它是否理解它是无用的。
java - 我怎样才能使它更具可读性和更清洁?
我想知道我能做些什么来使它更具可读性和清洁性。可读性是指其他开发人员更容易阅读。
我真的不想两次使用相同的代码。我在想我可以做一些方法来缩短它,但我不确定......
c# - 为什么使用 LINQ 表达式?
我使用 Resharper,当我编写如下几行代码时:
它会问我是否要将其转换为 LINQ 表达式:
我有很多人告诉我,他们很难阅读 LINQ 语句中发生的事情......那么,如果它使我的代码可读性降低,我为什么要将它转换为 LINQ 表达式呢?