0. 说明

版本

1.0.0

原版

本项目源自 Google C++ 风格指南

结合 lumicare 自身开发习惯和开发环境所修改。

主页

0.1 初衷

不同的人由于编码经验和编码偏好相同,项目中同一个功能的实现代码可能千差万别。 往往在一个项目开发过程中,不同的人会负责不同的模块,如果每个人都很随意地按照自己的偏好编写自己部分的代码,不考虑其可阅读性和可维护性, 那么如果某天该模块的同学休假或者离职,对于其他接手维护的人来说,将是巨大的灾难。 并且让整个项目面临风险。 如果项目中代码风格统一,接手人员只需学习了解这一种风格即可触类旁通,剩下的只是产品逻辑; 如果项目的N个人N种风格,那么接手人员将学习N种代码风格后,再学习产品逻辑,增加了接手难度。

统一的代码风格有以下几个好处:

  • 增加代码的强壮性、可读性、易维护性。

  • 减少开发人员编程所需的脑力工作。

  • 在项目范围内统一代码风格。

  • 通过人为和自动方式对软件应用质量标准。

  • 使新的开发人员快速适应项目氛围。

  • 支持项目资源的复用。

风格, 亦被称作可读性, 也就是指导 C++ 编程的约定。 使用术语 “风格” 有些用词不当, 因为这些习惯远不止源代码文件格式化这么简单。 使代码易于管理的方法之一是加强代码一致性。 让任何程序员都可以快速读懂你的代码这点非常重要。

编码规范包含如下内容

  • 排版格式

  • 注释风格

  • 标识符命名

  • 可读性

  • 变量、结构

  • 函数、过程、类

  • 可测性

  • 质量保证

  • 代码编辑、编译,审查

保持统一编程风格并遵守约定意味着可以很容易根据 “模式匹配” 规则来推断各种标识符的含义。 创建通用, 必需的习惯用语和模式可以使代码更容易理解。

0.2 背景

公司开发主要用到 C/C++ 进行开发。本文档主要针对Qt和C++。

  • C++ 有很多强大的特性, 但这种强大不可避免的导致它走向复杂,使代码更容易产生 bug, 难以阅读和维护。

  • Qt 是一套跨平台C++框架,除了拥有完备的C++图形库和支持多种语言,同时也拥有一套完整的设计、开发工具。

C++ 是一门包含大量高级特性的庞大语言。本文档的目的是通过详细阐述 C++ 注意事项来驾驭其复杂性。 这些规则在保证代码易于管理的同时, 也能高效使用 C++ 的语言特性。 同时C++ 特性臃肿,某些情况下, 我们会限制甚至禁止使用某些特性。 这么做是为了保持代码清爽, 避免这些特性可能导致的各种问题。 文档中列举了这类特性, 并解释为什么这些特性被限制使用。而 Qt 包含多种工具和支持多个平台,本文档亦会阐述Qt使用的技巧或者说个人经验。

风格尽量遵从大多数开发者习惯,使用一些便于实施的特性和技巧。 撰写也尽量保持严谨但水平所限, bug 在所难免。 有任何意见或建议, 可直接在gitee上提交或修改。