给函数和变量取⼀个有意义的名字
为什么要给函数和变量取⼀个有意义的名字?
1. 代码写出来是给以后的⾃⼰和别⼈看的,易于理解的变量名可以更好的阅读,并且可以看出编码者的个⼈修养和编程功底;新能源开发
2. 好的变量名字有利于提⾼⾃⼰英语⽔平(词汇量、表达能⼒),英语⽔平提⾼了,对代码中的注释也是很有帮助的;
3. 可以培养⾃⼰咬⽂嚼字的能⼒,选⽤什么样的⼀个词来表达其在代码中最为贴近的含义;
如何给函数和变量取⼀个有意义的名字?
1. 阅读优秀的代码,体会别⼈是怎么取变量名的,并不断积累,好记性不如烂笔头;
2. 阅读相关书籍,《代码⼤全》、《代码整洁之道》;
小区垃圾分类方案
3. ⾃⼰在写的时候,多推敲,可以借助英语词典,选取最为准确表达意思的词;
4. ⼀有时间就去回顾⾃⼰的笔记,加深记忆(应遵循⼤脑的记忆曲线);
函数命名原则:
⽂件名+动宾结构(filename_dosth() 函数名前加上⽂件名的好处是以防⽌函数未进⾏static声明时,有可能重复定义;单词⾸字母最好⼤写,这样醒⽬⼀些,避免多个单词连在⼀起出现混淆)。 常有单词有:
ret 复位某⼀个外设,⽐如复位phy芯⽚ _RetPhy8201f
init exit _InitConfig _InitReg Chip_Init Chip_Exit
start/run stop 开始或停⽌某⼀状态,⽐如开启或关闭看门狗,和begin(起始) end区别
reg unreg
_RegOps:注册操作函数,这个⼀般⽤于连接设备驱动层次关系(通⽤代码处理modules层和具体的操作⽅法实现chips 层,连接两者的桥梁是模块配置指针,这样有利于代码的移植性)。
_RegCmd:注册
get t _SetXxxState _SetXxxParam _SetXxxRunParam _GetXxxPos 将寄存器某些位置位SetRegBits
_SetGpioDir_SetGpioLevel _SetXxxVal _GetCapacity
write read _ReadReg _ReadRegCache(⼀个是读寄存器,另⼀个是读保存在数组当中的寄存器值)_WriteReg全国大学生网络安全知识竞赛
婴儿可以dowrite doread被write read调⽤
dump _DumpReg_DumpInfo
open clo
input output
probe Remove
createdelete
enable disable使能⽚选 _EnableCs、读写使能
execute 执⾏ _ExecuteCmd ⽤于注册调试接⼝命令 XxxCmdUsage
calc 计算(calculate) 计算偏差 _CalcOfft _CalcElap _CalcLength
rever forward
1. 翻转,例如SPI传输中,是否需要进⾏位翻转,Rever_8/16/32bits
2. 前进和倒退
backto退回到某个位置,_BackToZero,退回到原点
par _ParHeader 解析⼀个字符串中的特定字符
show _ShowInfo _ShowState
变量命名原则:
变量命名遵循准确表达其在代码中所表达的含义。驱动程序中常⽤的单词有:
寄存器参数结构体T_RegParam:addr data num
参数配置结构体T_XxxConfig:
1. 外设和主控制器相连的⼀些管脚命名,CsPinIdRstPinId
不能忘却
2. 芯⽚类型Type 页⼤⼩PageSize 页总数 PageNum 容量 Capacity 地址标致 i2cFlag 读写超时TimeOut
3.
设备对象结构体T_XxxDev:⼏个⼤部分。
1. 外设驱动的状态,SpiFlag I2cFlag spi i2c是否probe成功
2. 寄存器数组 RegCache
国有大型企业
参数配置结构体T_XxxConfig
3. 和modules交互的相关结构体
4. 内核相关驱动机制
等待队列Wq等待队列判断条件Condition
内核定时器Timer
互斥量Mutex
台湾芋圆
内核线程Task
设备指针这块主要是⽤来进⾏总线通信使⽤,i2c/ spi SpiDev Client Adapter孙露黄玫瑰