因:目前为止,自己都没有一个明确的代码编写规范,导致一个项目一种编写风格,看起来真费劲。。。希望自己能定一个合心意的代码规范,之后按照这个规范写代码。
1、首先是头文件的格式和注释
// 文件注释
/****************************************************************************
**
** Copyright (C) 2023 bamboogrove
**
** Project: code-standards (项目命名规范: 单词全部小写,单词之间使用 - 连接)
**
** File: code_standards.h (文件命名规范:单词全部小写,单词之间使用 _ 连接)
**
** Author: 筱筱竹林
**
** Date: 2023-03-15
**
** Description: 代码的书写规范
**
****************************************************************************/
// (自我约束)
// 每一行的代码长度不能超过 80 !
// 每一个函数的长度不能超过 20 行 (越短越好)
// 所有头文件都应该有 #define
// 可以按照格式 <PROJECT>_<PATH>_<FILE>_H_ 来进行命名。
// 个人感觉不需要,只需要用格式 <FILE>_H_ 就可以了。(FILE用作类名)因为类名为 CodeStandards ,而一个项目里面不应该有两个相同的类名。
#ifndef CODESTANDARDS_H_
#define CODESTANDARDS_H_
#include <QObject>
// 前置声明(所谓「前置声明」(forward declaration)是类、函数和模板的纯粹声明,没伴随着其定义.)
class Object;
// 枚举
// (枚举命名格式 名词 或者 名词短语)
// (枚举命名规范:枚举对象和成员变量,单词均采用首字母大写,且单词之间没有空格)
enum Standards
{
High = 0,
Low,
VeryHigh,
VeryLow
};
// (类命名规范:每个单词首字母大写,单词中间没有间隔)
class CodeStandards : public QObject
{
Q_OBJECT
public:// 1
explicit CodeStandards(QObject *parent = nullptr);
public slots:// 2
// (槽函数函数命名格式:动词 + 名词)
void changeStandard();// (槽函数命名规范:采用小写字母开头,第二个单词开始首字母大写)
// 有的命名规范在信号前面加signal_ 槽函数前面家slot_ 还在考虑自己要不要加
signals:// 3
// (信号命名格式:名词 + 过去分词)(我喜欢将 standard changed 理解为 标准被改变了 或 标准发生发改变)
void standardChanged();// (信号命名规范:采用小写字母开头,第二个单词开始首字母大写)
private slots: // 4
void removeItem(const QString &item);
private:// 5
void init();// (函数命名规范:采用小写字母开头,第二个单词开始首字母大写)
Object *object_;// (变量命名规范:均采用小写单词,每个单词之间使用 _ 进行连接,在最后的结尾添加 _ 表示类成员变量)临时变量则没有最后的下划线_
Ojbect *my_object_;
};
#endif // CODE_STANDARDS_H_
注:2023-03-16 写的代码规范感觉很乱,而且不完善,需要将注释、命名格式和命名规范分开写。慢慢完善吧。
本文来自博客园,作者:筱筱竹林,转载请注明原文链接:https://www.cnblogs.com/bamboogrove/p/17218639.html