Questions tagged «readability»

可读性是一个主观参数,用于衡量代码质量的一个方面。它基于这样的假设,即代码应该易于理解,无论是形式还是含义。

20
“ for(;;)”比“ while(TRUE)”更快吗?如果没有,人们为什么要使用它?
for (;;) { //Something to be done repeatedly } 我已经看到这种东西使用了很多,但是我觉得这很奇怪……说起来不是那么清晰while(true),或者类似的话吗? 我猜想(这是许多程序员诉诸密码的原因),这快一点点吗? 为什么,真的值得吗?如果是这样,为什么不这样定义呢? #define while(true) for(;;) 另请参阅:哪个更快:while(1)或while(2)?

11
如何在JavaScript中将长正则表达式拆分为多行?
我有一个很长的正则表达式,我希望在JavaScript代码中将其分成多行,以根据JSLint规则将每行长度保持80个字符。我认为这对阅读更好。这是模式样本: var pattern = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

30
应该在for循环中使用<或<=
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 11个月前关闭。 改善这个问题 如果您必须迭代7次,请使用: for (int i = 0; i &lt; 7; i++) 要么: for (int i = 0; i &lt;= 6; i++) 有两个注意事项: 性能 可读性 为了提高性能,我假设使用Java或C#。是否使用“小于”或“小于或等于”是否重要?如果您有其他语言的见解,请指出。 为了提高可读性,我假设基于0的数组。 UPD:我提到的从0开始的数组可能会使您感到困惑。我不是在谈论遍历数组元素。只是一个一般的循环。 下面有一个关于使用常数的好处,该常数可以解释这个魔术数字是什么。因此,如果我有“ int NUMBER_OF_THINGS = 7”,那么“ i &lt;= NUMBER_OF_THINGS - 1”看起来会很奇怪,不是吗。


10
`if key in dict` vs. try / except`-哪个更易读?
我有一个关于成语和可读性的问题,对于这种特殊情况,似乎存在Python哲学上的冲突: 我想从字典B构建字典A。如果B中不存在特定键,则什么也不做,继续。 哪种方法更好? try: A["blah"] = B["blah"] except KeyError: pass 要么 if "blah" in B: A["blah"] = B["blah"] “请原谅”与“简单明了”。 哪个更好?为什么?

9
如果背景色已知,如何找到漂亮的字体颜色?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 4年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 那里似乎有很多色轮,颜色选择器和颜色匹配器Web应用程序,您在其中提供一种颜色,它们会找到其他两种颜色,当组合使用这些颜色时会产生谐波布局。但是,它们大多数只集中于背景色,并且在每种背景色上打印的任何文本(如果在预览中完全打印了文本)都是黑色或白色。 我的问题不同。我知道我要用于文本区域的背景色。我需要帮助的是选择几种可以用作此背景上的字体颜色的颜色(越多越好)。最重要的是,颜色将确保字体可读(对比度不会太低,也可能不会太高以避免眼睛受压),当然前景和背景的组合看起来也不错。 任何人都知道这样的应用程序吗?我更喜欢Web应用程序而不要下载任何内容。谢谢。

30
开发人员应该首先以可读性或性能为目标吗?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 通常,开发人员会面临两种可能的解决方法的选择,一种是惯用且可读的,而另一种则不太直观,但性能可能更好。例如,在基于C的语言中,有两种方法将数字乘以2: int SimpleMultiplyBy2(int x) { return x * 2; } 和 int FastMultiplyBy2(int x) { return x &lt;&lt; 1; } 对于技术和非技术读者来说,第一个版本都比较容易上手,但是第二个版本的性能可能更好,因为移位比乘法更简单。(目前,尽管这也是一个考虑因素,但假设编译器的优化器不会检测到该问题并对其进行优化)。 作为开发人员,最初尝试会更好吗?

3
将C ++字符串拆分为多行(代码语法,不解析)
不要与如何分割明智的字符串混淆,例如: 在C ++中分割字符串? 关于如何在c ++中将字符串拆分为多行,我有些困惑。 这听起来像一个简单的问题,但请举以下示例: #include &lt;iostream&gt; #include &lt;string&gt; main() { //Gives error std::string my_val ="Hello world, this is an overly long string to have" + " on just one line"; std::cout &lt;&lt; "My Val is : " &lt;&lt; my_val &lt;&lt; std::endl; //Gives error std::string my_val ="Hello world, this …

6
为什么大多数STL实现中的代码如此复杂?
STL是C ++世界的重要组成部分,大多数实现源自Stepanov和Musser的初步努力。 我的问题是代码的关键性,它是人们出于敬畏和学习目的而查看编写良好的C ++示例的主要来源之一:为什么STL的各种实现如此令人讨厌地看待-令人费解的和从美学的角度讲,通常是很好的例子,说明如何不编写C ++代码。 下面的代码示例由于在变量命名,布局,宏以及使用运算符等方面的原因而无法在我工作过的地方通过代码审查,这些操作不仅仅需要一目了然才能弄清实际情况。 template&lt;class _BidIt&gt; inline bool _Next_permutation(_BidIt _First, _BidIt _Last) { // permute and test for pure ascending, using operator&lt; _BidIt _Next = _Last; if (_First == _Last || _First == --_Next) return (false); for (; ; ) { // find rightmost element smaller than successor …
71 c++  stl  readability 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.