问题标签 [google-style-guide]
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++ - 带有 C++ Google 样式指南示例的示例代码?
有没有什么好地方可以获取 C++ Google 样式指南的示例?
c++ - 在头文件中使用类而不访问其定义?
我们如何在头文件中使用 Foo 类而不访问其定义?
- 我们可以声明 Foo* 或 Foo& 类型的数据成员。
- 我们可以用 Foo 类型的参数和/或返回值声明(但不能定义)函数。(一个例外是,如果参数 Foo 或 const Foo& 具有非显式的单参数构造函数,在这种情况下,我们需要完整的定义来支持自动类型转换。)
- 我们可以声明 Foo 类型的静态数据成员。这是因为静态数据成员是在类定义之外定义的。
我很好奇的是第二个项目符号中的异常。为什么会这样?如果我们想支持自动类型转换,为什么需要完整的定义?
我的猜测是编译器需要目标类型的完整定义,因为在隐式转换中创建了临时对象。我猜对了吗?还有更多吗?
编辑:
正如我所看到的,指南中的例外是针对这样的情况:
这里我们只有一个用户定义的隐式转换(从 int 到 A),并调用接受 A const & 的构造函数。在此异常中唯一有意义的是支持从例如 int 到 A,然后通过接受 A const & 的构造函数到 B 的直接转换,允许客户端代码使用此转换链,而无需显式包含 A 类所在的头文件宣布。
c++ - 谷歌风格指南脚本或工具
是否有脚本或工具可以将代码样式更改为谷歌样式,至少部分不完全(可能只是语法格式)?我们正在重用一些未按照 google 样式标准格式化的 C++ 遗留代码,即使只是在语法上对其进行格式化,对于开发人员来说也需要几个小时。
目前,我们编写了一些正则表达式来搜索和替换一些基本样式
谢谢
javascript - 为什么在 JavaScript 中使用“const”构造是一种不好的做法?
在 Google Style guide for JavaScript 编写(证明链接)中,使用“const”构造是一种不好的做法,为什么?
javascript - “花括号总是应该在语句行”规则如此重要吗?
我理解“分号隐式插入”,但我不确定它是否发生在函数表达式的情况下。
例如,这两个表达式总是会平等地解释:
我喜欢第一个,我也注意到 Google 也喜欢它:http: //google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml ?showone=Code_formatting#Code_formatting 。但我的同事不喜欢这种风格。问题出现了是否严格遵守这条规则,即使有函数声明,或者它是对统一性的贡献,并且这段代码在经过巧妙的缩小后不会中断?
c++ - 为什么谷歌在成员变量之后命名访问器和修改器?
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Function_Names#Function_Names
常规函数大小写混合;访问器和修改器匹配变量的名称:MyExcitingFunction()、MyExcitingMethod()、my_exciting_member_variable()、set_my_exciting_member_variable()。
对用户隐藏实现细节不是封装的全部意义,因此他/她不知道访问器/突变器方法是否返回/修改成员变量?如果我更改变量名称或更改它在对象中的存储方式怎么办?
编辑:
如果我有一个实例变量int foo_
,它看起来很简单
但是如果我添加另一个返回的方法,foo_ + 2
我应该命名 ifbar
还是GetBar
?
如果我选择GetBar
并稍后决定将返回值缓存在另一个成员变量bar_
中,我是否必须将方法重命名为bar
?
javascript - 根据 Google JavaScript 样式指南,块内的函数声明
根据 Google JavaScript 风格指南,函数声明不应在块内声明,因为这不是 ECMAScript 的一部分。但是,我并不完全清楚什么是块。
具体来说,我有一个构造函数,我想在该构造函数的范围内定义一个函数。由于它位于一组 {} 中,这是否算作一个块中的函数?如果是这样,这是否意味着每个函数声明都必须是全局的?
一些良好措施的代码:
错误的 (?)
对 (?)
css - 是否有大型现有项目的 CSS 样式指南。或者我如何优化大型项目的 CSS
我目前正在从事一个具有多个前端和后端开发人员的大型项目。它基本上是一个不同品牌的大型电子商务解决方案,核心结构相同,但风格和布局不同。
我的问题是这样的:
是否有大型现有项目的 CSS 样式指南?或者我们如何在不丢失逻辑和破坏内容的情况下优化代码重构?
样式混乱,需要绝望的重构。我们从客户那里得到了项目的一部分,我们有点被迫对那些现有的布局和样式进行样式设置和工作。
在某些部分,我们有 10 代选择器,我们经常需要提供 !important 规则来完成工作。
很抱歉,由于法律义务,我不能给你代码或样品。
javascript - 属性定义是使用敲除时的方法定义
根据Google 风格指南,方法应该在构造函数的原型上定义,属性应该在构造函数中使用 this 关键字定义。
我使用 Knockout 进行大部分前端开发,它通过将观察属性转换为函数来处理它们。也就是说,我的所有属性现在或多或少都是方法。这是对性能的重大影响吗?是否有任何使用JavaScript getter 和 setter的 Knockout 变通方法?
python - 导入时执行哪些顶级代码
在 Google python 风格指南中它指出(接近“主要”的结尾)
“导入模块时将执行顶层的所有代码”
我的印象是顶级代码是 amodule(file)
中缩进的任何代码0
。那么这是否意味着例如需要将参数传递给它们的函数被执行?这怎么可能,或者我误解了什么是顶级代码和/或在导入过程中是如何执行的?
这是指南的链接