问题标签 [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.
php - 如何减少 PHP 中 if-else 语句的数量?
我发现有很多 if-else 语句,尤其是嵌套的 if else 语句,这些语句使我的代码可读性降低。如何减少 PHP 中 if else 语句的数量?
我的提示如下: 1.在合适的时候使用switch语句;2.在可行的情况下使用exit()语句;3、在可行的情况下使用三元语句;
是否有其他技巧可以减少 if else 语句,尤其是嵌套的 if-else 语句?
jquery - 为负数/正数着色(jQuery)
我想在表格中为数字着色以提高可读性:
- 绿色为正 (+00.00);
- 红色表示负数 (-00.00) 和;
- 默认情况下为黑色(无符号)
language-agnostic - 是否进行了任何标识符案例可读性研究?
不同的语言对标识符大小写有不同的标准。我看到的关于这个主题的大多数讨论都围绕着一种特定的语言,并且充满了个人观点。而这些强烈的意见都源于创造语言的一个人或一群人的决定。
我很想看到一个图表显示words_per_minute
比wordsperminute
. 显然,我对更具争议性的案例最感兴趣,例如wordsPerMinute
. 我怀疑最易读的那些需要最多的时间来打字,反之亦然,但我当然不能自己确定这一点。
是否有任何与语言无关的研究比较不同大写方案的可读性?打字速度的统计数据也将受到欢迎。
php - 优雅的编码,如何处理隐藏/不可见的 HTML 代码?
我正在开发一个问答网站。每个答案旁边都有一个“选择为最佳答案”按钮,该按钮应该对提问者可见,但对其他查看者不可见。网页的其他部分几乎相同。那么我该如何编码这个网页呢?我是否应该每次检查查看者身份以确定按钮是否应该可见。如果一个问题有很多答案,那么除了提问者之外,还有很多按钮对观众隐藏。这种编码会浪费很多额外的带宽吗?而且我认为这种编码有点可疑。有更好的方法吗?
“添加评论”按钮也有同样的问题。右下方有一个“添加评论”按钮和一个隐藏的<form><textarea></textarea></form>
,如果有20个答案,就会有20个隐藏<form></form>
,隐藏的代码大大增加了HTML文件的大小。有没有优雅的方式呢?
至于“添加评论”按钮,任何登录的用户都可以添加评论,因此没有身份区分。那么如何处理这个问题呢?
c++ - 你会使用 num%2 还是 num&1 来检查一个数字是否是偶数?
好吧,至少有两种低级方法可以确定给定数字是否为偶数:
我认为第二种选择更加优雅和有意义,这是我通常使用的一种。但这不仅仅是品味问题。实际性能可能会有所不同:通常按位运算(例如这里的逻辑与)比 mod(或 div)运算效率更高。当然,您可能会争辩说某些编译器无论如何都能够优化它,我同意……但有些不会。
另一点是,对于经验不足的程序员来说,第二个可能更难理解。关于这一点,我会回答说,如果这些程序员花那么短的时间来理解这种陈述,它可能只会使每个人受益。
你怎么看?
仅当给定的两个片段是num
无符号整数或具有二进制补码表示的负数时才是正确的。- 正如一些评论所说的那样。
python - 我应该让我的 python 代码不那么简单以提高可读性吗?
我试图让我的代码万无一失,但我注意到输入内容需要很多时间,阅读代码需要更多时间。
代替:
我倾向于这样写:
我的 python 编码风格是否过于偏执?或者有没有办法在提高可读性的同时保持它的万无一失?
- 注 1:我在 和 之间添加了评论
<
,>
只是为了澄清。 - 注意2:我试图防止滥用我的代码的主要傻瓜是我未来的自我。
c# - C#单元测试中的双向列表比较
在我的 C# 单元测试中,我经常根据 ID 列表查询行列表。然后我想确保 1) 对于所有 ID,至少找到一个具有该 ID 的行,并且 2) 对于所有返回的行,每一行都有一个 ID,该 ID 在要查找的 ID 列表中。以下是我通常如何确保:
我认为使用Any
andAll
对此类检查很方便,但我想看看是否有人认为这比它可能的可读性差,或者是否有更好的方法来进行这样的双向检查。我在 Visual Studio 2008 Team System 中使用 MSTest 进行单元测试。如果过于主观,这也许应该是社区 wiki。
编辑:我现在正在使用基于 Aviad P. 建议的解决方案,以及以下测试通过的事实:
c++ - 是否可以简化这种基于分支的向量数学运算?
我正在尝试在 C++ 中实现以下目标:
将代码解释为英文,我有四个“已知”向量。其中两个向量具有我在结果中可能需要也可能不想要的值,我是否需要它们取决于基于其他两个向量分量的分支。
我觉得我应该能够通过一些矩阵数学和掩码来简化这段代码,但我无法理解它。
现在我将使用分支,但我很想知道是否有更好的方法仍然可以理解,并且代码更少。
编辑:
关于马克的评论,我将解释我在这里尝试做的事情。
这段代码是我正在研究的一些弹簧物理学的摘录。组件如下:
kC 为当前弹簧长度,kD 为最小弹簧长度。
kA 和kB 是两组弹簧张力,其中的每个分量对于每个分量可以是唯一的(即,沿X、Y或Z的不同弹簧张力)。kA 是弹簧未完全压缩时的张力,kB 是弹簧完全压缩时的张力。
我想建立一个结果“向量”,它只是 kC 和 kD 的合并,取决于弹簧是否被压缩。
language-agnostic - 简化 if 语句逻辑
我已经分离出一个测试来确定两个计划项目是否因为不可读而重叠。
是否有任何应用程序可以帮助简化逻辑语句?
示例:(最初是一个错误的示例,但公开了我要求这样做的原因)
可以减少到
我的代码是:
我很想让它更简单,我相信这是可能的,只是不确定如何。
看到这确实与语言无关,即使转换为不同的脚本以寻找可能性也会很好,例如不需要它在 C# 中。
readability - 混淆的 C# 代码 - 简洁和清晰之间的平衡是什么?
几年前,曾经有过一场比赛,看谁能编写出最模糊的 C 代码,其中一些结果非常难以理解。C是这样的。你真的可以用预处理器搞砸事情。
然而,许多 C# 的新特性提供了一个绝佳的机会来混淆代码。我想知道是否有人对在代码的简洁和清晰之间找到正确的平衡有意见。让我举一个例子来讨论,将项目填充到ListView
. (是的,我知道您可以通过数据绑定来做到这一点,但请跟我来。)
该控件是两列要填充的数组
一种,清晰而简单的方法是这样的:
清晰易懂。
我也可以这样写:
甚至:
最后,我也可以这样写:
每个人都或多或少地使用了该语言的各种新特性。您如何在简洁和清晰之间找到平衡?我们应该每年举办一次混淆 C# 比赛吗?