关于查看代码量多的文件和代码编写规范的一些方法
一、查看代码量多的文件
1、如果变量、函数命名比较易懂,直接按照下图操作即可
2、如果代码注释和放置无规律,如同类功能代码没有放在一块,可以按快捷键ctrl+k,再按ctrl+0,把所有代码都折叠起来,再去速览注释提示
3、对于注释不明白的变量和函数,我会反查这些变量和函数使用的场合,推断该它们的作用。反查有两种方法:全局搜索和右键弹出的选择框的反查功能,如下图所示
对于右键弹出的选择框的反查功能,我实测有时候这种方法会比全局搜索少一些,不知道为什么,这种方法不够保险
二、代码编写规范
1、个人觉得一份格式编写规范的代码,大部分时候只需要通过头文件的函数声明和参数定义,就能直接使用这个函数了,再根据自身需要去函数定义中查看具体的代码细节。目前我是按以下格式编写的代码的
不知道为啥从VsCode复制过来的代码的缩进会乱掉,自己按需要修改吧
变量、函数命名参考https://www.cnblogs.com/zhaoo-o/articles/17096785.html
点击查看代码
/*************************************************************************************************************
* 本文件目录(只需要搜关键词就能直接跳到对应板块)
* 0、通用功能(根据需要可以设置通用功能模块)
* 1、xxx功能
* 1.1、xxx功能分支1
* 1.1.1、xxx功能分支1_1:实现分支1_1功能所需要的函数(根据需要可以继续分级细化,目的是提高代码可移植性)
* 1.2、xxx功能分支2
* 2、yyy功能
* 3、以此类推....
*
**************************************************************************************************************/
// 在此处添加头文件 #include "xxx.h"
/*************************************************************************************************************
*
* 外部数据区
*
**************************************************************************************************************/
// 在此处添加extern变量,尽量使用函数接口获取跨文件数据,不要用extern变量,避免在注释丢失时很难理解该变量的作用
/*************************************************************************************************************
*
* 内部数据区------宏定义
*
**************************************************************************************************************/
/*************************************************************************************************************
*
* 内部数据区------枚举
*
**************************************************************************************************************/
typedef enum
{
e_Flag_Sys_Run_Stage_Null = 0, //系统初始化
e_Flag_Sys_Run_Stage_Boot_Start, // Boot开始运行
e_Flag_Sys_Run_Stage_Boot_End, // Boot运行结束
e_Flag_Sys_Run_Stage_App_Start, // App开始运行
e_Flag_Sys_Run_Stage_Sum // 枚举成员总数,用于判断数据合法性
} e_FLAG_SYS_RUN_STAGE; //当前系统的运行状态枚举
/*************************************************************************************************************
*
* 内部数据区------结构体
*
**************************************************************************************************************/
/*************************************************************************************************************
*
* 内部数据区------全局变量
*
**************************************************************************************************************/
e_FLAG_SYS_RUN_STAGE Flag_Sys_Run_Satage = e_Flag_Sys_Run_Stage_Null; // 记录当前系统的运行状态
/*************************************************************************************************************
*
* 1、xxx功能
* 1.1、xxx功能分支1
*
**************************************************************************************************************/
#if 1 // 如果分支中的函数比较多不容易查看,也可以增加#if 1用于折叠自定义行数的代码
/*
* @breif 设置当前系统的运行状态
* @param Flag_Sys_Run_Stage_Tmp:需要设置的运行状态(@e_FLAG_SYS_RUN_STAGE)
* @return 无
*/
void Set_Flag_Sys_Run_Satage(e_FLAG_SYS_RUN_STAGE Flag_Sys_Run_Stage_Tmp)
{
if (Flag_Sys_Run_Stage_Tmp < e_Flag_Sys_Run_Stage_Sum) // 判断数据合法性
Flag_Sys_Run_Satage = Flag_Sys_Run_Stage_Tmp;
else
{
// 可以根据需要增加错误提示
}
}
#endif
/*************************************************************************************************************
*
* 1、xxx功能
* 1.2、xxx功能分支2
*
**************************************************************************************************************/