网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- 命名格式:
camelCase命名法(驼峰式命名):开头单词小写,后面单词首字母大写。在Java的官方标准中,Camel命名法被作为主要命名法。使用的很普遍,很多人习惯这种命名方法。示例:userName。
- 命名方法:
一般函数名都由名词+动词组成(因为函数是执行某种功能的,包括了动作和操作的对象),当然这个也不绝对,如果某个函数的功能通过其动作或者其名词就可以知道其作用,那名词或动词也是可以省略的。下面举一些例子来说明:
+ 名词+动词或动词+名词
taskSpawn( ) - 创建任务
taskInit( ) -初始化任务,用户自己指定栈和PCB地址
taskActivate( ) - 激活已经初始化的任务
taskDelete( ) - 删除任务
taskDeleteForce( ) - 强制删除,即使被保护
taskSuspend( ) - 挂起任务
taskResume( ) - 恢复挂起的任务
taskRestart( ) - 重新启动任务
taskPrioritySet( ) - 改变任务优先级
taskPriorityGet( ) - 读取任务优先级
taskLock( ) - 禁止任务调度
taskUnlock( ) - 允许任务调度
taskSafe( ) - 保护任务不被删除
taskUnsafe( ) - 解除保护
taskDelay( ) - 延时
semGive( ) – 释放一个信号量
semTake( ) – 获取一个信号量,会阻塞
semFlush( ) – 使所有阻塞在本信号量上的任务变为就绪状态
semDelete( ) – 删除一个信号量
msgQCreate( ) - 创建消息队列
msgQDelete( ) - 删除消息队列
msgQSend( ) - 发送消息
msgQReceive( ) - 接受消息,调用后阻塞
+ 只有动词: // 这些标准api,只需要通过其动词就可以知道其功能
creat( ) :建立文件
open( ) :得到文件或设备的描述符
read( ) :读文件或设备
write( ) :写文件或设备
ioctl( ) :设置参数
close( ) :关闭文件描述符
remove( ) :删除文件
bind( ) - 与端口、地址等绑定
listen( ) - 监听模式
accept( ) - 允许对方的连接
connect( ) - 主动与远端连接
+ 只有名词:
socket( ) - 打开套接字
signal( ) - 指定信号的入口函数
在我们代码中的函数,一般都需要通过动词加名词才能完整的描述出该函数的功能。
下面给出一些命名中常用的动词和名词:
add / remove begin / end create / destroy
insert / delete first / last get / release
increment / decrement put / get
add / delete lock / unlock open / close
min / max old / new start / stop
next / previous source / target show / hide
send / receive source / destination
cut / paste up / down
array arr 数组、集合
list lst 列表
Sequence seq
Segment(s) seg
stack stk 栈
dictionary dict 字典
character char 字符
string str 字符串
text txt 文本
float flt 浮动、浮点
number num 数量、编号
image img 图像
bitmap bmp 位图
table tbl 表
link lnk 链接
lable lbl 标签
flag flg 标志
container cntr 容器
time stamp ts 时间戳
length len 长度
positive pos
negative neg
- 一般一个模块是一个文件,在文件的开头是对这个模块的介绍和修改历史(每一个正式发行版之间的修改历史)。
/*模块名.c 简要模块介绍
description: 详细模块介绍
![img](https://img-blog.csdnimg.cn/img_convert/511dbdd8aff9f23fde7f8f378a087e49.png)
![img](https://img-blog.csdnimg.cn/img_convert/13e1579637f19c439ea185a8f5bbc3f3.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**
,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**