最近收到邮件,由于我的一个宏,导致某个场景下打印较多,性能下降,项目组再次强制编程规范
1. 之前写的时候,专门问过这个规范-------------缺失官方的,对于允许哪些,不允许哪些,可能导致哪些问题,缺少明确的声明,每一个进入项目组的成员,可能并不清楚
2. 当前定义宏更清楚的兼顾和Qt环境下的调试和发布版本之间的日志,但存在问题
2.1. 如果修改后忘记了关闭宏,则会发布版本中的打印仍存在(printf打印)
修改
2.2. 将printf打印修改为qDebug()打印
2.3. 使用宏控制,在Qt环境下使用,如果没有定义,则这个宏什么都不做
扩展:
1. 定义这个宏的原因是,在一些常用的场景下,缺少公共的语言来说明,如
典型:
进入了某个可能改变系统状态的函数,入参是---------关键:要函数名称,和入参
退出了某个可能改变系统状态的函数,返回值是---------关键:要函数名称,和入参
-----------------------当前发布版本较多,定位问题时,可能行号和代码地不上,但函数大致不太变
发送了某个signals
正确的日志规范
1. 入职后必须学习
2. 明确在了使用哪些库,在哪些条件下打印
2.1. 系统状态改变
2.2. 不同重要类型的地方,打印不同级别
2.3. 禁止项-------------------如这里禁止使用printf来打印
3. git增加禁止项-----------------这个重要,git提交的时候,应该可以增加禁止项(检查项)