问题标签 [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# - 什么更具可读性?
我有这两段代码,哪一个更易读?
前锋
/li>林克
/li>
javascript - 为大型代码库编写适当的可维护可读 jQuery 的行业和社区最佳实践是什么?
来自 Ruby 背景,我习惯于使用带有方法等的类来编写我的所有代码。我确实非常了解 javascript,但我对 jQuery 及其最佳实践并不陌生。
显然有一百万种方法可以在 javascript 中模拟类。但是,实际 jQuery 社区在现实世界中真正使用的是什么?
具体的例子将是理想的。或链接到真实的生产代码。虚构的理想代码的链接也会有所帮助。
谢谢!
ruby - 代码如何“自我记录”而不令人讨厌?
我不确定这里的最佳实践是什么,但我经常看到缩写的变量名,尤其是在范围很小的时候。所以(使用简单的 Ruby 示例)而不是def add_location(name, coordinates)
,我看到类似的东西def add_loc(name, coord)
——我什至可能看到类似的东西def add_loc(n, x, y)
。我想当一个人习惯于看到缩写时,较长的名字可能会让他们感到厌烦。
冗长是否有助于可读性,还是只会伤害每个人的眼睛?——人们更喜欢缩写和缩短的名字而不是更长的名字吗?
php - 格式化 if 语句以提高可读性
为了便于阅读,最好的格式化方法是什么?
javascript - 处理长 write() 参数的最佳方法是什么?
更新:感谢大家的回复。我没有意识到 document.write() 已被弃用。在学习栏上再添一个档次。我将接受此处发布的建议,但保留原始问题,以便给出的答案在原始问题的上下文中有意义。
我正在编写一些相当长的 write() 参数,并且考虑到语法、可读性和性能,我正在尝试确定以下哪个示例最好遵循。我是不是该
一种。将它们全部放在一行上:
湾。通过添加换行符来分解它们以提高可读性:
C。通过使用多个变量来分解它们:
提前致谢。
colors - 如果已知背景颜色,如何找到好看的字体颜色?
那里似乎有很多色轮、颜色选择器和颜色匹配器 Web 应用程序,您可以在其中提供一种颜色,然后它们会找到其他几种颜色,这些颜色在组合使用时会产生和谐的布局。然而,它们中的大多数只关注背景颜色,并且在每种背景颜色上打印的任何文本(如果在预览中完全打印文本)都是黑色或白色。
我的问题不一样。我知道要用于文本区域的背景颜色。我需要帮助的是选择几种颜色(越多越好)我可以在这个背景上用作字体颜色。最重要的是颜色将确保字体可读(对比度不要太低,也可能不要太高以避免眼睛受到压力),当然前景和背景的组合看起来不错。
有人知道这样的应用程序吗?我更喜欢 Web 应用程序,而不是我必须下载的任何东西。谢谢。
while-loop - while (true) 是否具有坏的编程习惯?
我经常使用这种代码模式:
另一位程序员告诉我,这是不好的做法,我应该用更标准的替换它:
他的理由是,您可能太容易“忘记休息”并陷入无休止的循环。我告诉他,在第二个例子中,你可以很容易地放入一个永远不会返回 true 的条件,所以很容易有一个无限循环,所以两者都是同样有效的做法。
此外,我通常更喜欢前者,因为当您有多个断点(即退出循环的多个条件)时,它使代码更易于阅读。
任何人都可以通过为一方或另一方添加证据来丰富这一论点吗?
c# - 基于整数设置布尔值
我发现这个语句是一些旧代码,我花了一秒钟才弄清楚......
如果我错了,请纠正我,但这和这个不一样吗?:
如果是,你为什么要使用第一个?哪个更具可读性?(我认为是后者,但我想看看其他人的想法。)
python - 后期绑定是否符合“可读性很重要”的理念?
对不起,我不是在这里责怪 Python。这只是对我所相信的是否正确的一种反思。作为两年的 Python 爱好者,我一直只写小应用程序,无论走到哪里,我都对 Python 赞不绝口。我最近有机会阅读 Django 的代码,并开始怀疑 Python 是否真的遵循其“可读性很重要”的理念。例如,
self.c
在使用时创建实例变量的情况下(即在上面的代码段中),很难跟踪代码流。在阅读大量以这种方式编写的代码时,不可能看到定义了哪些实例变量。即使阅读一个只有 6-8 个方法且不超过 100-150 行代码的类,它也会变得非常令人沮丧。
我很想知道我对这段代码的阅读是否受到 C++/Java 风格的影响,因为大多数其他语言都遵循与它们相同的方法。有没有更流利地阅读这段代码的 Pythonic 方式?是什么让 Python 开发人员采用这种策略来牢记“可读性”?
c# - 如何在 C# 中计算“五的中位数”?
5 的中位数有时用作算法设计中的练习,并且已知仅使用 6 次比较即可计算。
在 C#中实现这种“使用 6 次比较的 5 的中位数”的最佳方法是什么?我所有的尝试似乎都导致了笨拙的代码:(我需要漂亮且可读的代码,同时仍然只使用 6 次比较。
注意:我想我也应该在这里提供“算法”:
我发现自己无法像Azereal在他的论坛帖子中那样清楚地解释算法。所以我会在这里参考他的帖子。来自http://www.ocf.berkeley.edu/~wwu/cgi-bin/yabb/YaBB.cgi?board=riddles_cs;action=display;num=1061827085
好吧,我在我的一项作业中遇到了这个问题,我向这个论坛寻求帮助,但这里没有任何帮助。我最终发现了如何做到这一点。
使用前 4 个元素开始合并排序,并对每一对进行排序(2 次比较)
比较每对中较低的两个并从可能性中消除最低的一个(3 次比较)
将留出的第 5 个数字与没有配对的数字相加并比较两者(4 次比较)
比较两个新对中最低的两个并消除较低的一对(5 次比较)
比较一个本身和最后一对中的较低者,较低的数字是中位数
可能的中位数在 parentesis 内
(54321)
5:4 3:2 2 次比较
(4<5 2<3 1)
4:2 3 次比较
2(4<5 3 1)
1:3 4 次比较
2(4<5 1<3)
4:1 5 次比较
1,2(4<5 3)
4:3 6 次比较
1,2(3)4,5
三是中位数
这是我编写的 C++ 代码,用于找到 5 的中位数。不要介意它的尴尬:
它应该更紧凑,不是吗?
正如@pablito 在他的回答中指出的那样,内置List.Sort()
无法满足此要求,因为它最多使用 13 次比较:]