编程风格指南文档结构

文档分三个部分,第一部分是本站相关项目涉及编程语言都要遵守的公共风格;第二部分是各编程语言特色编程风格;第三部分是规约。

目录

序言 工具链 我们有哪些开发成果呢? 1. 编程风格指南文档结构 2. 各编程语言都需遵守的约定 2.1 作用域 2.1.1 命名空间 2.1.2 嵌套类 2.1.3 全局函数 2.1.4 局部变量 2.1.5 全局变量 2.1.6 作用域使用建议总结 2.2 类,编程规范中的类是什么意思? 2.2.1 构造函数 2.2.2 继承 2.2.3 多重继承 2.2.4 接口(Interface) 2.2.5 存取控制 2.2.6 声明次序 2.2.7 编写短小函数 2.2.8 初始化列表 2.2.9 命名空间格式化 2.2.10 水平空白 2.2.11 垂直空白(空行) 2.3 命名规范 2.3.1 通用命名规则 2.3.2 缩写 2.3.3 文件命名 2.3.4 类命名 2.3.5 变量命名 2.3.6 常量命名 2.3.7 函数命名 2.3.8 命名空间 2.8.9 命名规则例外 2.4 代码注释 2.4.1 注释风格 2.4.2 文件注释 2.4.3 类注释 2.4.4 函数注释 2.4.5 变量注释 2.4.6 实现注释 2.4.7 标点、拼写和注释语言 2.4.6 TODO 2.5 代码格式化(如缩进、换行等) 2.5.1 每一行代码的长度(避免一行代码占过多屏幕宽度) 2.5.2 非ASCII字符 2.5.3 空格 or 制表符Tab 2.5.4 函数声明与定义 2.5.5 函数调用 2.5.6 条件语句 2.5.7 循环和开关选择语句(loop and switch) 2.5.8 布尔表达式 2.5.9 返回值 2.5.10 初始化操作 2.6 规则之例外 2.6.1 现有不统一代码 3. HTML代码风格指南 3.1 样式规则 3.1.1 协议 3.2 排版规则 3.2.1 缩进 3.2.2 大小写 3.3 元数据规则 3.3.1 编码 3.4 HTML代码风格规则 3.4.1 文档类型 3.4.2 HTML代码有效性 3.4.3 语义化 3.4.4 多媒体后备方案 3.4.5 关注点分离 3.4.6 实体引用 3.4.7 可选标签 3.4.8 type属性 3.4.9 HTML代码格式规则 4 CSS 4.1 CSS代码风格规则 4.1.1 CSS代码有效性 4.1.2 id和class的命名 4.1.3 id和class命名风格 4.1.4 类型选择器 4.2 属性缩写 4.2.1 0和单位 4.2.2 0开头的小数 4.2.3 URI外的引号 4.2.4 十六进制 4.2.5 前缀 4.2.6 id和class命名的定界符 4.2.7 Hacks 4.3 CSS代码格式规则 4.3.1 声明顺序 4.3.2 代码块内容缩进 4.3.3 声明完结 4.3.4 属性名完结 4.3.5 选择器和声明分行 4.3.6 规则分行 4.4 CSS元数据规则 4.4.1 注释部分 5 JavaScript 5.1 JavaScript基础特性 5.1.1 变量(var,let) 5.1.2 常量 5.1.3 分号 5.1.4 嵌套函数 5.1.5 块内函数声明 5.1.6 异常处理 5.1.7 自定义异常 5.1.8 标准特性 5.1.9 基本包装类型 5.1.10 多级原型结构 5.1.11 方法定义 5.1.12 闭包 5.1.13 eval() 5.1.14 with() {} 5.1.15 this 5.1.16 for-in 循环 5.1.17 关联数组 5.1.18 多行字符串字面量 5.1.19 Array和Object字面量 5.1.20 修改内置对象的原型 5.1.21 IE下的条件注释 5.2 命名 5.2.1 属性和方法 5.2.2 方法和函数参数 5.2.3 属性的访问器 5.2.4 函数的访问器 5.3 命名空间 5.3.1 在全局作用域下使用伪命名空间 5.3.2 明确命名空间所有权 5.4 长名引用 5.5 自定义 toString() 方法 5.6 作用域 5.7 代码格式化 5.8 字符串 5.9 可见性 5.10 JavaScript中的类型 5.10.1 明确类型 5.10.2 类型定义 5.10.3 模板属性 5.11 注释、缩进 5.11.1 JSDoc的HTML 5.11.2 内部类和枚举 5.12 编译压缩 6 Php 6.1 基本规则必须遵循PSR-1的条款 6.1.1 文件 6.1.2 关键词 6.1.3 Namespace 和 Use 声明 6.2 类, 属性 和 方法 6.2.1 继承 和 实现 6.2.2 属性 6.2.3 方法 6.2.4 abstract, final 和 static 6.3 Closure 闭包 7 Java 7.1 源文件 7.1.1 特殊字符 7.1.2 包含顺序 7.1.3 import顺序 7.2 类声明 7.2.1 只有一个顶级类声明 7.2.2 类成员顺序 7.2.3 重载 7.3 具体结构 7.3.1 枚举类 7.3.2 变量声明 7.3.3 数组 7.4 注解(Annotations) 7.5 注释 7.5.1 Modifiers 7.6 命名约定 7.6.1 对所有标识符都通用的规则 7.6.2 包名 7.7 Java特性 7.7.1 @Override:能用则用 7.7.2 捕获的异常:不能忽视 7.7.3 静态成员:使用类进行调用 7.7.4 Finalizers: 禁用 8 C++ 8.1 头文件 8.1.1 #define 保护 8.1.2 头文件依赖 8.1.3 内联函数 8.1.4 -inl.h文件 8.1.5 函数参数顺序 8.1.6 包含头文件的名词及次序 8.2 作用域 8.2.1 命名空间 8.2.2 嵌套类 8.2.3 局部变量 8.2.4 全局变量 8.3 C++ 类 8.3.1 构造函数 8.3.2 默认构造函数 8.3.3 明确的构造函数 8.3.4 拷贝构造函数 8.3.5 结构体和类 8.3.6 继承 8.3.7 多重继承 8.3.8 接口(Interface) 8.3.9 操作符重载 8.3.10 存取控制 8.3.11 声明次序 8.4 其他C++特性 8.5 规则之例外 8.5.1 Windows代码 9 Python 9.1 格式 9.1.1 分号 9.1.2 行长度 9.1.3 括号 9.1.4 缩进 9.1.5 空格 9.2 Shebang 9.3 注释 9.4 类 9.5 字符串 9.6 文件和sockets 9.7 使用with语句管理文件 9.8 导入格式 9.9 语句 9.10 访问控制 9.11 命名 9.11.1 示例 9.11.2 应该避免的名称 9.11.3 命名约定 9.12 Main 10 规约 11 参考文档