c++编码规范&《数学之美》第一章读后感

一、C++编码规范

1. 命名规范

1.1 变量和函数

  • 变量名和函数名应采用有意义的英文单词,避免使用缩写。
  • 使用驼峰命名法(camelCase),首字母小写,例如:totalCountcalculateSum()
  • 常量使用全大写加下划线,例如:MAX_SIZE

1.2 类和结构体

  • 类名和结构体名使用帕斯卡命名法(PascalCase),首字母大写,例如:CustomerInfoDataProcessor

1.3 命名空间

  • 命名空间名称使用小写字母,必要时可用下划线连接,例如:stdmy_project

2. 代码格式

2.1 缩进和空格

  • 使用四个空格作为缩进,不使用制表符(Tab)。
  • 运算符两侧保留一个空格,例如:a + b
  • 函数参数列表中的逗号后添加一个空格,例如:func(a, b, c)

2.2 括号和大括号

  • 左大括号{不单独占一行,放在语句结尾。
  • 右大括号}单独占一行,与对应的左大括号对齐。
if (condition) {
    // code block
} else {
    // code block
}

3. 注释规范

3.1 单行注释

  • 使用//进行单行注释,放在被注释代码的上方或旁边。
// 初始化计数器
int count = 0;

3.2 多行注释

  • 使用/*...*/进行多行注释。
/*
 * 这是一个多行注释的示例。
 * 可以在这里添加详细的说明。
 */

3.3 文档注释

  • 使用/**...*/编写文档注释,便于生成文档。
/**
 * 计算两个整数的和。
 * @param a 整数a
 * @param b 整数b
 * @return a和b的和
 */
int add(int a, int b);

4. 代码规范

4.1 常量与宏

  • 优先使用constenumconstexpr等替代宏定义#define

4.2 指针和引用

  • 指针符号*和引用符号&尽量靠近变量名,例如:int *ptrint &ref

4.3 控制语句

  • 避免在控制语句中使用赋值操作。
  • 循环和条件语句必须使用花括号,即使代码块只有一行。

5. 异常和错误处理

  • 使用异常来处理错误,而不是返回错误码。
  • 捕获异常时,应尽可能指定具体的异常类型。
try {
    // 可能抛出异常的代码
} catch (const std::exception &e) {
    // 异常处理
}

6. 代码复用和模块化

  • 遵循DRY(Don’t Repeat Yourself)原则,避免重复代码。
  • 将公共代码提取为函数或类,提升代码的可维护性和可读性。

7. 文件组织

  • 每个头文件.h.hpp只声明一个类或模块。
  • 头文件应使用include guard或#pragma once防止重复包含。
#ifndef MY_CLASS_H
#define MY_CLASS_H

// 类的声明

#endif // MY_CLASS_H

8. 其他建议

  • 避免使用魔术数字,使用命名常量代替。
  • 定期重构代码,改善代码结构。
  • 注重代码的可读性,避免过度优化导致代码难以理解。

二、《数学之美》第一章读后感

第一章讲了文字,数字和语言的历史,的确让我感受到了语言和数学天然的内在的联系,尤其是第一章结合了自然语言处理相关的知识,以及上下文的消歧等内容,恰与我现在在项目组做的内容相符合,因此对第一章有比较深的感触,特别是给了我一个全新的思考,即:到底是语言对还是语法对。在此之前我们一直在思考如何纠正语法或语义的错误,却没想过这样做是否是有绝对的意义的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值