世上最精简编译器!可能大家在写代码的同时,命令的规范及命名的唯一性一直困扰着大家!下面我们就来讲一讲命令规则,提供我命令的一些规则及技巧给大家参考,因人而异,主要是要形成自己的一套命令习惯(规则)
目录名称
目录名称若无特殊的需求,尽量使用全小写的形式,便于阅读。大家没看见过哪个英文文章全篇都用大写呈现的吧,基本都是小写呈现英文文章,就是为了便于阅读!符合大众的阅读习惯!
目录名称应能够反应部分的意思,例如各芯片移植由其芯片名称构成或芯片类别构成;components 目录下能够反映组件的意义!
文件名称
文件名称如果无特殊的需求(如果是引用其他地方,可以保留相应的名称),也尽量使用全小写的形式。
另外为了避免文件名重名的问题,一些地方请尽量不要使用通用化、使用频率高的名词。
头文件定义
C语言头文件为了避免多次重复包含,需要定义一个def,风格如下:
#ifndef __FILE_H__
#define __FILE_H__
/* header file content */
#endif
即定义的符号两侧采用 "__" 以避免重名
文件头注释
/*******************************************************************************************
* Copyright (C), 2010-2020, 武汉市XXXXXXXXXX
* 文件名:jd_app_button_drv.h
* 内容简介:XXXXXXXXXXXXXXXXXX.
*
* 文件历史:
* 版本号 日期 作者 说明
* V1.0 20201111 Starry xxx
*
*/
结构体定义
结构体名称也是以小写英文名的形式,单词与单词之间采用 "_" 连接,例如:
struct my_mesh_node_s {
struct m_name *p_name;
struct m_index *p_index;
};
其中,"}" 独立占用一行,后面的成员定义使用缩进的方式定义。
typedef struct rt_list_node rt_list_t;
重定义结构体等的类型定义请以结构体名称加上 "_t" 的形式作为名称,例如:
宏定义
一般使用大写英文名称作为宏定义,单词之间使用 "_" 连接,列如
#define NEW_YEAR
函数名称、声明
函数名称请使用小写英文的形式,单词之间使用 "_" 连接。
提供给上层应用使用的 API 接口,必须在相应的头文件中声明;
如果函数入口参数是空,必须使用 void 作为入口参 数,例如:
jd_app_button_register(void);
注释编写
源代码的注释不应该过多,更多的说明应该是代码做了什么,仅当个别关键点才需要一些相应提示性的注释以解释一段复杂的算法它是如何工作的。对语句的注释只能写在它的上方或右方,其他位置都是非法的。
能用英文则尽量用英文做为注释原因如下:
使用中文注释将意味着在编写代码时需要来回不停的切换,中英文输入法从而打断编写代码的思路。
使用英文注释也能够比较好的与国外的的技术者进行交流。
防止各个编码软件或IDE的编码格式不统一乱码情况,如在VScode里的UTF-8格式,在KEIL中显示的为乱码
缩进及分行
缩进请采用4 个空格的方式。请在 "{" 后进行分行,并在下一 行都采用缩进的方式,例如:
if (condition) {
/* others */
}
唯一的例外是 switch 语句,switch-case 语句采用 case 语句与 switch 对齐的方式, 例如:
switch (value)
{
case value1:
break;
}
case 语句与前面的 switch 语句对齐,后续的语句则采用缩进的方式。
函数
在编程中,函数应该尽量精简,仅完成相对独立的简单功能。
函数的实现不应该太长 ,函数实现太长,应该反思能够如何修改(或拆分)使得函数更为精简、易懂,高效。
最后温馨提示:
若函数和变量名已经词穷了,请使用VScode自带的智能命令工具进行Codelf进行命令,详细请参考之前推文编译器!
大家元旦快快快快快快快快乐乐乐乐乐乐乐乐!!!
![92ed4413914c7e057745709b474eea2a.png](https://i-blog.csdnimg.cn/blog_migrate/bbe2b109faa74049769ff14b7f9b90c4.jpeg)
元旦,即公历的1月1日,是世界多数国家通称的新年。元谓始,凡数之始称为元;旦,谓“日”;“元旦”意即“初始之日”
让每一个物体
有生命!
长按关注![6f5a3b00fb2d4c2534949233576cc1c1.png](https://i-blog.csdnimg.cn/blog_migrate/8728811319b256c17d28796f2368c12e.jpeg)