编程规范---日志规范

news/2025/9/24 11:08:22/文章来源:https://www.cnblogs.com/wu-zixu/p/19108792

最近收到邮件,由于我的一个宏,导致某个场景下打印较多,性能下降,项目组再次强制编程规范

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提交的时候,应该可以增加禁止项(检查项)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析:find_code 插件 react_vite

深入解析:find_code 插件 react_vitepre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

二十一、DevOps:从零建设基于K8s的DevOps平台(二)

二十一、DevOps:从零建设基于K8s的DevOps平台(二) 目录二十一、DevOps:从零建设基于K8s的DevOps平台(二)1、DevOps 平台建设1.1 DevOps 流程1.2 DevOps 平台整体设计1.3 集群规划(学习测试环境)1.4 Harbor 私有…

中电金信:从“通用”到“专用”:加速实现金融行业生成式AI应用的必由之路

9月20日,香江科技论坛暨中国计算机学会(CCF)香港两周年交流活动在香港成功举办。本次活动以“共建香港人工智能协同创新高地”为主题,汇聚了来自CCF、高校、企业及科研机构的百余位专家代表。中国电子首席科学家、…

自动构建高质量测试集

基于文档自动生成 QA 对(文档 - 问题 - 答案三元组)是构建高质量测试集、知识库评估或模型微调数据的核心方法,其核心流程围绕 “文档采样→内容解析→LLM 生成→质量过滤→格式输出” 展开。 一、核心目标与前置准…

SAP BAPI_PR_CREATE 创建采购申请(含自定义字段)

创建采购申请一般有两个函数:BAPI_PR_CREATE 和 BAPI_REQUISITION_CREATE。 使用BAPI_REQUISITION_CREATE创建常规的标准的采购申请比较方便,代码如下FUNCTION ZFM_OA2SAP_CREAT_PR. *"-----------------------…

NCCL论文阅读

NCCL论文阅读 目录NCCL论文阅读前言概述NCCL API多GPU管理数据传输通信通道通信层节点内通信节点间通信底层通信协议集合通信算法算法和协议支持通信原语迭代执行模型执行模型对应GPU架构集合通信算法分析总结 前言 NC…

做商城网站要什么证件上海工程公司排名

项目场景: 表格的部分内容是可以被勾选的,部分内容是不可以被勾选的 使用的是 “element-plus”: “^2.2.22”, 以上应该都是兼容的 问题描述 要求el-table表格中,部分内容不可以被勾选,全选框在没有可选内容时,是禁…

做网站时点击显示长春建设股份有限公司

本文首发于欧雷流。由于我会时不时对文章进行补充、修正和润色,为了保证所看到的是最新版本,请阅读原文。在本系列文章《聊聊前端 UI 组件:组件体系》中初步说明了 UI 组件的架构设计,本文将在此基础上进一步展开说说那篇文章中一…

重庆是哪个省划分出来的运城seo招聘

1、HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错…

橱柜企业网站模板wordpress搭建文件下载

Mitchell Hashimoto 是一名开源软件工程师。由他托管到 GitHub 上的 开源项目 Vagrant,是一个用于创建和部署虚拟化开发环境的工具。近日,Mitchell撰文讲述了在开发 Vagrant 的过程中学到的有关开源软件开发的一些心得。 以下为原文文章: 把 …

新手项目经理如何选工具?2025年这5款上手快、不复杂的项目管理软件适合你

刚接手项目管理任务?选择一款简单高效的工具能让你快速进入角色。2025年最值得新手项目经理关注的5款软件——禅道、Trello、Asana、ClickUp和Notion,它们以直观界面和核心功能设计脱颖而出:禅道满足全流程管控需求…

用DiskGenius重新分区,检测出U盘虚标容量。

​ U盘虚标容量: 我在PDD买了一个32GB的U盘,我重新分区了一下,发现竟然只有10GB可用,20GB容量虚标。 我把32GB分了6个分区,每个分区5GB,最后只保留下来2个分区。检测U盘是否虚标的方法: 可以用Windows自带的磁盘…

2025低空经济时空信息平台

随着低空经济迈入“基建与产业融合”新阶段,时空信息平台作为低空基础设施的“神经中枢”,正通过架构创新与数据融合技术重塑产业生态。本文将深度解析其核心架构、关键技术及落地路径,为行业提供前瞻性参考。一、战…

linux gcc attribute

//函数前面使用这个扩展,表示该函数会被经常调用到,在编译链接时要对其优化,或说是将它和其他同样热(hot)的函数放到一块,这样有利于缓存的存取。 __attribute__((hot))//函数前面使用这个扩展,表示该函数比较冷门…

那个…以后拍证件照,可能真不用花钱了

以后,证件照不要花钱了。​ 说真的,每次一提到“拍证件照”,我就头大。 不知道你们是不是也一样,要么是临时要用,急急忙忙找不到地方;要么就是特地花了一下午,结果拿到一张丑得自己都想报警的照片,还花了一百来…

网站开发后台需要哪些技术wordpress项目导出

Matlab字符串转换及数值格式转换字符串转换函数abs 字符串到ASCII转换dec2hex 十进制数到十六进制字符串转换fprintf 把格式化的文本写到文件中或显示屏上hex2dec 十六进制字符串转换成十进制数hex2num 十六进制字符串转换成IEEE浮点数int2str 整数转换成字符串lower 字符串转换…

想制作自己的网站吗免费搭建个人服务器

传统新式何月なんがつ何時なんじ何分なんぶん何秒なんびょういち一月いちがつ1時いちじ1分いっぷん1秒いちびょうに二月にがつ2時にじ2分にふん2秒にびょうさん三月さんがつ3時さんじ&#xff1…

网站做推广需要到工信部备案吗软件项目管理项目计划书

mysql CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一: mysql CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 回到上一篇文章的问题:假设有两个借款…

CF2147G

CF2147G 困难数论题好窝心。 本文参考了官方题解。 假设 \(\gcd(a,m)=1\) 且 \(a\not=1\) 的情况。 序列 \(b\) 的形式是 \(a^{a^N}\),要使得后面的 \(b_n=1 \bmod m\),\(ord_{m}(a)|a^N\),\(N\) 是一个极大的数。 那…

全栈开发者效率工具图谱:从IDE到云服务的最优组合 - 指南

全栈开发者效率工具图谱:从IDE到云服务的最优组合 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…