结合工程实践选题相关的一套源代码,根据其编程语言或项目特色,分析其在源代码目录结构、文件名/类名/函数名/变量名等命名、接口定义规范和单元测试组织形式等方面的作法和特色;git
个人工程实践题目是 低功耗高可靠文件系统的设计与实现,本项目基于ESP32嵌入式开发平台,设计与实现低功耗、高可靠的文件系统。乐鑫为用户提供完整的软、硬件资源,进行 ESP32 硬件设备的开发。其中,乐鑫的软件开发环境 ESP-IDF 旨在协助用户快速开发物联网 (IoT) 应用,可知足用户对 Wi-Fi、蓝牙、低功耗等方面的要求。所以能够从github上ESP-IDF中直接下载ESP32 使用的 API(软件库和源码)。其主要使用的语言为c语言。但因为是嵌入式开发,所以还须要编写不少的配置文件以及引入官方提供的SDK进行开发。以下图所示:github
根据上图能够看到components、docs、examples、make、tools五个文件夹,对它们的介绍以下所示:编程
components:ESP-IDF的核心组件编程语言
docs:ESP-IDF相关文档函数
examples:ESP-IDF提供的示例程序,包括众多外设、Wi-Fi、蓝牙等demo工具
make:EPS-IDF工程管理目录单元测试
tools:ESP-IDF提供的工具集测试
esp-idf里面有一个名字example的文件夹,里面有不少乐鑫例程,可经过里面例程入门esp32,以hello_world为例:优化
接口定义规范设计
列举哪些作法有悖于“代码的简洁、清晰、无歧义”的基本原则,及如何进一步优化改进;
不少同窗在入门编程时,有一些很很差的习惯,最突出的就是命名。命名要遵循简洁明了的原则,令人一看就能明白这个变量或者函数是什么意思。在经历屡次练习以后 ,相信必定会有所改进的。
总结同类编程语言或项目在代码规范和风格的通常要求。
注释:程序中必须有清晰的注释;每一个函数(除main函数外)都要注释功能说明;代码中要有适当的注释说明代码的做用。
缩进:用空格和Tab都可,可是二者不要混用
标识符命名:标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,而且首字符不能是数字,但能够是字母或者下划线,例如正确的标识符:abc,a1,prog_to;
不能把C语言关键字做为用户标识符,例如if ,for, while等
其余:左大括号“{”后和右大括号前“}”均不可出现代码;每行只能写一条代码;常数应定义为宏、枚举或常量;