Questions tagged «coding-style»

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

9
'foo'到底是什么意思?
我希望这可以看作是一个编程问题,因为在任何编程教程中,您最终都会在代码示例中遇到“ foo”。(是的,对吧?) 'foo'到底是什么意思? 如果它的意思是什么,什么时候才开始使用它?


30
您如何告诉某人他们在编写错误的代码?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 8年前关闭。 改善这个问题 我一直在和一小群人一起从事一个编码项目,这很有趣。这是一个有组织且相当团结的团队。与我一起工作的人都有与编程相关的各种技能,但是其中一些人使用了较旧或完全错误的方法,例如过多的全局变量,不良的命名约定等。虽然事情正常,但实现效果很差。礼貌地要求或介绍他们使用更好的方法,而又不会质疑(或侮辱)他们的经验和/或教育的一种好方法是什么?
217 coding-style 

8
字典和默认值
假设connectionDetails是Python字典,那么像这样的重构代码的最佳,最优雅,最“ pythonic”的方法是什么? if "host" in connectionDetails: host = connectionDetails["host"] else: host = someDefaultValue

6
为什么在CSS选择器/ HTML属性中首选使用破折号?
过去,我一直使用下划线在HTML中定义类和id属性。在过去的几年中,我改用破折号,主要是为了使自己适应社区中的趋势,而不一定是因为这对我来说很有意义。 我一直认为破折号有更多弊端,但我看不出这样做的好处: 代码完成和编辑 大多数编辑器将破折号视为单词分隔符,因此我无法跳到想要的符号。假设课程为“ featured-product”,我必须自动完成“ featured”,输入连字符,然后完成“ product”。 带下划线的“ featured_product”被视为一个单词,因此可以一步完成。 在文档中导航同样如此。跳字或双击类名会被连字符打断。 (更一般而言,我将类和id视为令牌,因此对令牌来说,令牌应该很容易拆分对于我来说没有任何意义。) 算术运算符的歧义 使用破折号会中断对象属性对 JavaScript中表单元素的访问。只有下划线才有可能: form.first_name.value='Stormageddon'; (不可否认,我自己不是以这种方式访问​​表单元素,但是当将破折号和下划线作为通用规则时,请考虑有人可能会这样做。) 诸如Sass之类的语言(尤其是在整个Compass框架中)已经以破折号作为标准,甚至对于变量名也是如此。他们最初也使用下划线。这被不同地解析的事实令我感到奇怪: $list-item-10 $list-item - 10 与跨语言的变量命名不一致 以前,我曾经用underscored_namesPHP,ruby,HTML / CSS和JavaScript 编写变量。这是方便且一致的,但是再次为了“适合”我现在使用: dash-case 在HTML / CSS中 camelCase 在JavaScript中 underscore_case 在PHP和ruby中 这实际上并没有给我带来太大的困扰,但是我想知道为什么它们似乎如此故意地变得如此混乱。至少使用下划线可以保持一致性: var featured_product = $('#featured_product'); // instead of var featuredProduct = $('#featured-product'); 差异造成了我们不得不不必要地转换字符串以及潜在错误的情况。 所以我问:为什么社区几乎普遍使用破折号,并且有什么理由要超过下划线? 从开始的那段时间开始就有一个相关的问题,但是我认为这不是(或者不应该)只是一个口味问题。我想了解一下,如果真的只是出于口味问题,为什么我们都同意这个约定。

8
在外部作用域中定义阴影名称有多糟糕?
我刚刚切换到Pycharm,对所有警告和提示它为我提供了改进我的代码感到非常高兴。除了我不了解的那一项: This inspection detects shadowing names defined in outer scopes. 我知道从外部作用域访问变量是一种不好的做法,但是隐藏外部作用域有什么问题呢? 这是一个示例,其中Pycharm给我警告消息: data = [4, 5, 6] def print_data(data): # <-- Warning: "Shadows 'data' from outer scope print data print_data(data)

12
在条件表达式中检查可空布尔的最佳方法(如果…)
我想知道在对可空布尔进行条件检查时最干净,最易懂的语法是什么。 以下的编码风格是好是坏?有没有一种更好/更干净地表达条件的方法? bool? nullableBool = true; if (nullableBool ?? false) { ... } else { ... } 尤其是if(nullableBool ?? false)部分。我不喜欢这种if (x.HasValue && x.Value)风格... (不确定是否曾经问过这个问题……无法在搜索中找到类似的内容)

15
吸气和塞特?
我不是PHP开发人员,所以我想知道在PHP中使用纯私有对象(我喜欢的方式)以纯OOP风格使用显式getter / setters是否更受欢迎: class MyClass { private $firstField; private $secondField; public function getFirstField() { return $this->firstField; } public function setFirstField($x) { $this->firstField = $x; } public function getSecondField() { return $this->secondField; } public function setSecondField($x) { $this->secondField = $x; } } 或只是公共领域: class MyClass { public $firstField; public $secondField; } …
203 php  oop  coding-style 

18
在C ++中使用“ super”
我的编码风格包括以下成语: class Derived : public Base { public : typedef Base super; // note that it could be hidden in // protected/private section, instead // Etc. } ; 这使我可以将“ super”用作Base的别名,例如,在构造函数中: Derived(int i, int j) : super(i), J(j) { } 甚至当从基类的重写版本中调用该方法时: void Derived::foo() { super::foo() ; // ... And then, do …
203 c++  coding-style 

8
return语句vs main()中的exit()
我应该使用exit()还是仅使用return语句main()?就我个人而言,我喜欢这些return语句,因为我感觉就像在读取代码时读取任何其他函数和流程控制一样(我认为)。即使我想重构该main()函数,return似乎也比拥有更好的选择exit()。 有exit()没有特别之处return吗?
197 c++  c  coding-style  return  exit 

17
将C ++定义放在头文件中是一种好习惯吗?
我个人使用C ++的风格总是将类声明放在include文件中,并将定义放在.cpp文件中,这与Loki对C ++头文件代码分离的回答中所规定的非常相似。诚然,我喜欢这种样式的部分原因可能与我过去对Modula-2和Ada进行编码所花费的时间有关,这两种方式在规范文件和主体文件方面都有相似的方案。 我有一个同事,比我更懂C ++,他坚持认为所有C ++声明都应尽可能在头文件中包括这些定义。他并不是说这是一种有效的替代样式,甚至不是一种更好的样式,而是这是每个人现在都在使用C ++的新的普遍接受的样式。 我不像以前那样虚弱,所以我真的不急于爬上他的这个潮流,直到我看到更多的人和他在一起。那么这个成语到底有多普遍? 只是为了给出一些答案的结构:现在是The Way,很常见,有点常见,不常见或被bug淘汰吗?

21
如何在JavaScript中设置多种CSS样式?
我有以下JavaScript变量: var fontsize = "12px" var left= "200px" var top= "100px" 我知道我可以像这样反复设置它们到我的元素: document.getElementById("myElement").style.top=top document.getElementById("myElement").style.left=left 是否可以一次将它们全部设置在一起,像这样? document.getElementById("myElement").style = allMyStyle


9
C ++中的内部typedef-好样式还是坏样式?
我最近发现自己经常做的事情是声明与该类中特定类相关的typedef,即 class Lorem { typedef boost::shared_ptr<Lorem> ptr; typedef std::vector<Lorem::ptr> vector; // // ... // }; 这些类型然后在代码的其他地方使用: Lorem::vector lorems; Lorem::ptr lorem( new Lorem() ); lorems.push_back( lorem ); 我喜欢它的原因: 它减少了由类模板引入的噪音,std::vector<Lorem>变为Lorem::vector等。 它用作意图的声明-在上面的示例中,Lorem类旨在通过boost::shared_ptr向量进行引用计数并存储在向量中。 它允许更改实现-即,如果需要更改Lorem以便boost::intrusive_ptr在以后的阶段(通过)对引用计数进行计数,那么这将对代码产生最小的影响。 我认为它看起来“更漂亮”并且可以说更易于阅读。 我不喜欢的原因: 依赖有时会出现问题-例如,如果您想将a嵌入Lorem::vector到另一个类中,但只需要(或想要)转发声明的Lorem(而不是在其头文件中引入依赖),则最终必须使用显式类型(例如boost::shared_ptr<Lorem>而不是Lorem::ptr),这有点不一致。 这可能不是很常见,因此很难理解吗? 我尝试以我的编码风格为目标,因此对它有其他意见是很好的,这样我可以对自己的想法进行一些剖析。

8
是否有JavaScript的编码标准?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心寻求指导。 7年前关闭。 已建立的JavaScript编码标准是什么?

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.