szTom's Code Style

介绍szTom在C++中使用的代码风格。

头文件

必须使用using namespace std;

如果是C头文件,必须使用c前缀文件名。

#include <cstdio>

而不是

#include <stdio.h>

所有#include必须放置于程序开头

预处理

所有的预编译指令(包括 #ifdef 等)不能缩进。

代码不能出现魔鬼数字,必须使用#define

#define声明的宏函数,减少空格的使用。

代码

缩进

对于每个代码块,使用与4个空格等长的 Tab 缩进。

花括号

花括号必须不换行,左花括号的左边必须有且仅有一个空格。

如:

if (condition) {

} else {

}

多个意义独立的代码块之间应该用空行隔开。

函数、成员函数、结构体、全局变量块之间必须用空行隔开。

if (condition) {
    // some code
}

for (int i = 1; i <= n; ++i) {
    // some code
}

using namespace std;必须紧跟在 #include 后的空行后,之后必须一个空行。

不应该有两个连续的空行。

for 中的三个语句外,每行不能有超过一个语句。

不能使用逗号表达式。

函数

main 函数的返回值类型必须int不可以省略 return 0;

空函数体可以使用 {}

可以使用lamada表达式。

main 函数应该放置于整个程序末尾。

函数声明修饰符(如inlinetemplate<typename T>)后,必须有一个空格。

inline template<typename T>
T abs(T x) {
    return x >= 0 ? : -x;
}

变量

除用于字符串的char数组外,所有长度大于\(5\)的数组必须使用全局变量。

空格

逗号 ,for 中的分号 ; 后面必须有一个空格,前面不能有空格。

()[]前后不能有空格。

双目运算符、三目运算符的两侧必须有一个空格。

冒号的右侧必须有一个空格,左侧不能有空格。

struct Edge {
    int x;
    Edge(): x(0) {}
}

流程控制关键字之后,函数名之后,左圆括号前必须有一个空格。

.->:: 的两边不能有空格。

在算术运算符,位运算付前后必须有一个空格。

在预处理记号后必须有一个空格。

在模板类的实例化时,出现嵌套的,>之间必须有一个空格。

vector<vector<int> > v;

指针与引用

在描述类型名时,指针符号 * 和引用符号 & 与左侧的类型名之间必须有一个空格,与右侧的其它关键字之间不能有空格。

在定义变量、函数返回值、参数时,指针符号 * 和引用符号 & 与左侧的类型名之间必须有一个空格,与右侧的变量、函数、参数名之间不能有空格。

杂项

可以使用三目运算符,但不能嵌套。

可以使用switch-case语句,但不能嵌套。

不能使用typedef将自带类型重定义以缩短代码长度。

// 错误写法
typedef long long LL;

在不影响代码逻辑的前提下,使用将自增,自减的运算符放在前面。

++a;

不能使用 int 代替 bool 表示逻辑值。

szTom's Code Style

原文地址:https://www.cnblogs.com/szdytom/p/code-style.html

时间: 2024-10-28 14:44:38

szTom's Code Style的相关文章

ios code style

注释 建议使用VVDocumenter插件 多行注释 格式: /** 注释内容 */ 单行注释 格式: ///在对文件.类.函数进行注释时推荐使用多行注释,在函数体内对代码块进行注释时,使用单行注释 函数的注释 函数注释的格式为 /** * @brief * @param * @return **/ 在brief中需要写明函数的主要功能.注意事项 在param中需要写明函数的变量类型.变量的作用 在return中需要写明函数的返回类型.返回值的作用 如有其他需要说明的地方,可以在@return后

VS2015--win32工程配置的一些想法之Google Code Style中头文件的顺序

工程大了,有很多的头文件,也要引用很多的库文件. 从我们学习C++写hello world的那一刻起,就知道要包含一些系统文件. 那么顺序如何呢? 在review的时候,感觉自己写的东西就是一坨屎. 看看Google code style中是如何描述include文件顺序的: Names and Order of Includes Use standard order for readability and to avoid hidden dependencies: C library, C++

idea google code style

1.https://github.com/google/styleguide 下载google code style风格配置xml 2.自己操作系统所属目录\.IntelliJIdea15\config\codestyles\  没有codestyles文件目录的自己创建一个把  intellij-java-google-style.xml 考进去 3.启动idea,全局setting中editor-code style-scheme选择googleStyle ps:自己用什么语言到时候用对应的

[code style]javascript style

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 var globalVariable=null; var globalObject={     init:function(){         $.extend({method:function(e){e}});    //jquery static method extend         $.fn.extend(); //jquery instance method extend  

IDEA学习系列之剖析IDEA里的Code Style(适合各种语言)(不断更新)(图文详解)

不多说,直接上干货! File  -> Settings ->  Editor  ->   Code Style   (1)HOCON 分为: Tabs  and Indents . Spaces . Wrapping and Braces 和  Blank Lines (2)Scala 分为:Tabs and Indents.Spaces.Wrapping and Braces.Blank Lines.ScalaDoc.Imports.Multi-line strings.Type A

Code Style for OI

Code Style for OI #include #define 尽量少用 #include 能#include <foo>就不#include "foo" #if,#endif等预编译指令 尽量别用,用的话给出与之对应的指令 using 不使用using namespace foo,如有需要应使用using foo::bar 对于using foo = bar;不限制 缩进 4格缩进 大括号 大括号不换行才是最优雅的!大括号换行的都是异端! 大括号换行 空格 能用就用

拯救 Java Code Style 强迫症

2018年10月31日 21:20:46 Java架构大数据 阅读数:1更多个人分类: java 架构 linux 程序猿编辑这篇文章缘起于上一个持续交付的咨询项目,当时正在指导客户团队的Java工程师做Code Review,发现一个很有意思的现象:有一位工程师对Code Style特别在意,所以在Code Review的大部分时间中都是该工程师在指出哪里哪里的格式不对,但是团队并没有找到改进方法,每次的结论都是"下次我注意一点."我挺欣赏这位工程师对Code Style的认真态度,

wyh 的 Code Style

参考GNAQ学长大人的Code Style Rust式代码风格: 预编译指令: 顺序: pragma include define undef 缩进: define undef 继承上层缩进,其余不缩进. 写法: include 中能使用 < > 的尽量不要使用 " " : include 中不使用空格. define undef 中允许被定义的宏为全部大写或全部小写,其余情况不允许使用大写. 限制: 不使用 #if #else #elif #endif #ifdef #i

Java Code Style 记录

示例代码: 1 class Solution { 2 /** 3 * @param nums: A list of integers. 4 * @return: A list of unique permutations. 5 */ 6 public List<List<Integer>> permuteUnique(int[] nums) { 7 // Write your code here 8 ArrayList<List<Integer>> rst