Questions tagged «coding-style»

**不使用!该标签指的是完全有思想的主题,因此不再是主题。**遵循编码风格和约定的问题。

14
如何从函数返回多个值?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 用支持它的语言返回多个值的规范方法通常是麻烦的。 选项:使用元组 考虑下面这个简单的例子: def f(x): y0 = x + 1 y1 = x * 3 y2 = y0 ** y3 return (y0, y1, y2) 但是,随着返回值的数量增加,这很快就会成为问题。如果要返回四个或五个值怎么办?当然,您可以继续修改它们,但是很容易忘记哪个值在哪里。在任何要接收它们的地方打开它们的包装也是很丑陋的。 选项:使用字典 下一步的逻辑步骤似乎是引入某种“记录符号”。在Python中,显而易见的方法是使用dict。 考虑以下: def g(x): y0 = x + 1 y1 = x * 3 y2 = y0 ** y3 return {'y0': …


30
一个函数应该只有一个return语句吗?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 是否有充分的理由说明为什么在函数中仅包含一个return语句是一种更好的做法? 还是在逻辑上正确地从函数中返回就可以,这意味着函数中可能有很多return语句?

9
Python的`如果x不是None`或`如果x不是None`?
我一直认为该if not x is None版本会更清晰,但是Google的样式指南和PEP-8都使用if x is not None。是否存在任何微小的性能差异(我假设不是),并且在任何情况下确实不适合(使另一方成为我的会议的明显获胜者)吗?* *我指的是任何单身人士,而不仅仅是None。 ...比较单例,如“无”。使用是或不是。

19
Python中的单引号与双引号[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 根据文档,它们几乎可以互换。是否有出于某种风格的原因要在一个之上使用另一个?

30
在“ if”语句中设置多行条件的样式?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 上个月关闭。 有时我将ifs中的长条条件分解为几行。最明显的方法是: if (cond1 == 'val1' and cond2 == 'val2' and cond3 == 'val3' and cond4 == 'val4'): do_something 在视觉上不是很吸引人,因为动作与条件融为一体。但是,这是使用正确的4个空格的Python缩进的自然方法。 目前,我正在使用: if ( cond1 == 'val1' and cond2 == 'val2' and cond3 == 'val3' and cond4 == 'val4'): do_something 但这不是很漂亮。:-) 您能推荐一种替代方法吗?

15
类中项目的顺序:字段,属性,构造函数,方法
是否有关于类结构顺序的正式C#准则? 它会去吗: 公共领域 私人领域 物产 建设者 方法 ? 我很好奇,关于项目顺序是否有严格的规定?我到处都是。我想坚持一个特定的标准,所以我可以在任何地方都可以做到。 真正的问题是我的更复杂的属性最终看起来很像方法,并且它们在构造函数之前的顶部感觉不合适。 有任何提示/建议吗?


12
C ++:“ std :: endl”和“ \ n”
许多C ++书籍都包含这样的示例代码... std::cout << "Test line" << std::endl; ...所以我也总是这样做。但是,我已经从工作的开发人员那里看到了很多这样的代码: std::cout << "Test line\n"; 是否有技术上的理由要优先于另一个,还是仅仅是编码风格的问题?

28
是否可以使用PHP短标签?
这是根据官方文档提供的信息: 在PHP中可以使用四对不同的开始和结束标记。其中的两个<?php ?> 和<script language="php"> </script>始终可用。另外两个是短标签和ASP样式标签,可以从php.ini配置文件中打开和关闭它们。因此,虽然有些人觉得短标签和ASP样式标签很方便,但它们的可移植性较差,通常不建议这样做。 以我的经验,大多数服务器确实启用了短标签。打字 <?= 比打字要方便得多 <?php echo 程序员的便利性是一个重要因素,那么为什么不推荐他们呢?


11
typeof!==“未定义”与!= null
我经常看到JavaScript代码以这种方式检查未定义的参数等: if (typeof input !== "undefined") { // do stuff } 这似乎有点浪费,因为它涉及类型查找和字符串比较,更不用说它的冗长了。这是必需的,因为undefined可以重命名。 我的问题是: 与该方法相比,该代码有何优势: if (null != input) { // do stuff } 据我所知,您无法重新定义null,因此不会意外中断。并且,由于!=运算符的类型强制,这将同时检查undefined和null...,而这恰恰是您想要的(例如,用于可选功能参数)。 但是,这种形式似乎并不广泛,它甚至导致JSLint对使用邪恶!=运算符的人大喊。 为什么认为这种风格不好?

30
是否有更好的书写方式v =(v == 0?1:0); [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 我想在0和1之间切换变量。如果它是0,我想将其设置为1,否则,如果它是1,我想将其设置为0。 这是一项非常基本的操作,我经常写这篇文章,希望研究出最短,最清晰的方法。到目前为止,这是我最好的: v = (v == 0 ? 1 : 0); 您可以对此进行改进吗? 编辑:问题是询问如何用最少的字符写以上语句,同时保持清晰度-这是“不是一个真正的问题”吗?这样做并非旨在进行代码高尔夫练习,尽管人们从高尔夫运动中获得了一些有趣的答案-很高兴看到高尔夫以建设性和发人深省的方式使用。



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.