为什么要给函数和变量取一个有意义的名字?

1. 代码写出来是给以后的自己和别人看的,易于理解的变量名可以更好的阅读,并且可以看出编码者的个人修养和编程功底;

2. 好的变量名字有利于提高自己英语水平(词汇量、表达能力),英语水平提高了,对代码中的注释也是很有帮助的;

3.  可以培养自己咬文嚼字的能力,选用什么样的一个词来表达其在代码中最为贴近的含义;

如何给函数和变量取一个有意义的名字?

1. 阅读优秀的代码,体会别人是怎么取变量名的,并不断积累,好记性不如烂笔头;

2. 阅读相关书籍,《代码大全》、《代码整洁之道》;

3. 自己在写的时候,多推敲,可以借助英语词典,选取最为准确表达意思的词;

4. 一有时间就去回顾自己的笔记,加深记忆(应遵循大脑的记忆曲线);

函数命名原则:

文件名+动宾结构(filename_dosth() 函数名前加上文件名的好处是以防止函数未进行static声明时,有可能重复定义;单词首字母最好大写,这样醒目一些,避免多个单词连在一起出现混淆)。 常有单词有:

reset 复位某一个外设,比如复位phy芯片 _ResetPhy8201f

init exit   _InitConfig _InitReg  Chip_Init Chip_Exit

start/run stop 开始或停止某一状态,比如开启或关闭看门狗,和begin(起始) end区别

reg unreg

_RegOps:注册操作函数,这个一般用于连接设备驱动层次关系(通用代码处理modules层和具体的操作方法实现chips层,连接两者的桥梁是模块配置指针,这样有利于代码的移植性)。

_RegCmd:注册

get set _SetXxxState  _SetXxxParam _SetXxxRunParam _GetXxxPos 将寄存器某些位置位SetRegBits

_SetGpioDir_SetGpioLevel _SetXxxVal _GetCapacity

write read _ReadReg  _ReadRegCache(一个是读寄存器,另一个是读保存在数组当中的寄存器值)_WriteReg

dowrite doread被write read调用

dump _DumpReg_DumpInfo

open close

input output

probe Remove

createdelete

enable disable使能片选  _EnableCs、读写使能

execute 执行 _ExecuteCmd 用于注册调试接口命令 XxxCmdUsage

calc 计算(calculate) 计算偏差  _CalcOffset  _CalcElapse _CalcLength

reverse forward

1. 翻转,例如SPI传输中,是否需要进行位翻转,Reverse_8/16/32bits

2. 前进和倒退

backto退回到某个位置,_BackToZero,退回到原点

parse _ParseHeader 解析一个字符串中的特定字符

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

给函数和变量取一个有意义的名字相关推荐

  1. 函数指针定积分C语言,急!!!利用函数指针变量编写一个求定积分的通用函数,...

    急!!!利用函数指针变量编写一个求定积分的通用函数, 答案:4  信息版本:手机版 解决时间 2021-05-05 09:17 已解决 2021-05-05 02:15 用它分别求5个函数的定积分:每 ...

  2. 工程实践:如何给变量取一个好的名字

    工程实践:如何给变量取一个好的名字 在上一篇文章中跟大家分享了关于函数命名的一些实践心得,今天我们继续命名这个话题,来讲一讲如何对变量命名. 以下是本文的目录大纲: 一. 变量命名风格 二. 变量命名 ...

  3. 用人工智能取一个超酷的名字(一)

    用人工智能取一个超酷的名字(一) 在我年轻的时候,我总是讨厌别人叫我春阳.这主要是因为我觉得这个名字有点土,听起来不够有格调.但是没有办法,按照我们中国人的传统,我这辈按照族谱中的规定,第二个字是春, ...

  4. 检索数据_5_给字段取个有意义的名字

    给字段取个有意义的名字 需求描述 需求:查询雇员表emp里部门编号是10的员工编号.员工名称.职位情况,并给员工编号起个别名"员工号",给员工名称起个别名"员工名&quo ...

  5. 取文字_取一个好听的女孩名字

    每一个女孩都是家里的小天使,而给孩子取名是一件伤脑的事情,不仅仅因为需要考虑很多,而且还因为希望赋予最好的.所以,对于女孩取名方面在这特意分享取一个女孩的名字. 如何取一个女孩的名字 你是否还在困扰如 ...

  6. 创建线程池的正确姿势,请给它指定一个有意义的名字

    为什么我们创建线程或者线程池的时候,需要指定有意义的线程名称? 最终目的是为了方便回溯. 我们在日常开发中,一个项目中会创建很多个线程池用来资源隔离,但是如果我们没有一个好的命名的话,出问题的时候就会 ...

  7. 【C#】如何给变量取一个好的名字

    讲一讲如何对变量命名. 以下是本文的目录大纲: 一. 变量命名风格 二. 变量命名最高境界 三. 变量命名最佳实践 一.变量命名风格 变量命名风格通常会根据不同的变量类型来区分,以Java语言为例,根 ...

  8. [1]数据分析中变量取对数的意义

    目录 数据取对数的理论来源 数据取对数的作用 数据取对数的理论来源 参考:https://www.zhihu.com/question/22012482 数据取对数的作用 原始数据取对数是由于基于对数 ...

  9. 用人工智能取一个超酷的名字(二)

    这篇文章代码有点多,不知道大家有没有兴趣看关于源码的深度解析的文章呢? 留言区和我说说~~ 构建模型 接下来,我们要使用 keras.Model 子类构建模型. (For details see Ma ...

最新文章

  1. ROS知识[14]:安装ubuntu 18.04和eclipse+CDT(installer)
  2. html文件上传数量限制,使用HTML中的input上传文件最多可以上传多少张?
  3. js 数组移除_JS某些封装方法
  4. shiro real的理解,密码匹配等
  5. 项目解析jsx文件_神奇了!这个 Go 语言项目让前端构建快了近 100 倍
  6. linux上安装osg_Linux下编译OSG全过程
  7. 文献管理三剑客之Mendeley最新版使用小记2
  8. 从零到无学单片机——画原理图、PCB
  9. mysqldump --set-gtid-purged=OFF
  10. 【犯二记录】链表结点换位引发的思维僵化,太可怕,智商 == 0
  11. PDF转图片哪个格式最清晰?PDF转高清图片的方法
  12. JS JQuery实现简单的鼠标移动动画效果
  13. HearthBuddy 召唤随从的问题
  14. 一文读懂 Kafka 事务机制
  15. 蓝色——Love is Blue
  16. 分享一款屏幕录制软件,无需安装,可直接将操作屏幕录制起来--
  17. 记录一下git 打patch导入patch遇到的问题
  18. 多径效应(时间色散、多普勒效应)及其他描述多径传播影响的参数(电平通过率、平均衰落时间)
  19. 1999~2019 年,互联网二十载野蛮生长史!
  20. 全国大学生电子设计竞赛

热门文章

  1. win7系统,安装python后,无法启动此程序,因为计算机丢api-ms-win-crt-runtime,或者python无法找到入口,无法定位程序输入点ucrtbase.terminate
  2. 快速找到路由器Ip地址在哪里查询
  3. Linux安装宝塔搭建dz论坛【傻瓜式安装,实测有效】
  4. 使用POI读取excel文件,识别空行
  5. Android的崩溃错误报告之ACRA
  6. 滴滴顺风车服务端之稳定性规范
  7. 【HCIA-openEuler】V1.0 华为认证(题目)
  8. if(null)的判断
  9. 万台服务器一人挑的五大挑战
  10. acm竞赛技巧——c/c++ /java 快读快写(整数,字符串)