第六周作业
(1)代码规范采用什么方式?
答:该代码段采用了 C语言的命名规范、缩进和格式化、注释规范、中断处理、硬件相关性和错误处理和调试。
代码 | 内容 |
---|---|
代码名称 | 解析GPS回传数据 |
日期 | 2024-4-7 |
1.1 代码符合需求和规格说明么? | 符合,代码段采用了C语言的命名规范、缩进和格式化、注释规范、中断处理、硬件相关性和错误处理和调试 |
1.2代码设计是否考虑周全? | 考虑了,遇到异常的数据时会跳转到解析错误的函数中进行错误情况打印,且有足够的注释给后期的维护人员理解和修改 |
1.3代码可读性如何? | 可读性好,变量命名简洁易懂,注释充足,容易理解 |
1.4代码容易维护么? | 容易,代码有充足的注释,有利于有助于后续维护和修改 |
2.设计规范部分 | |
1.1代码有没有依赖于某一平台,是否会影响将来的移植(如Win32到 Win64)? | 有,依赖于以C语言编程的单片机,如果移植到非C语言编程(如arduino)或io缺失的单片机(单片机对应的io口没有在硬件上引出)可能会带来影响 |
1.2在本项目中是否存在类似的功能可以调用而不用全部重新实现? | 有,如串口发送函数Usart_SendString,它底层调用USART_SendData函数,该函数是在标准库内的,不用重新实现该功能 |
1.3有没有无用的代码可以清除? | 无 |
3.具体代码 | |
1.1有没有对错误进行处理? | 有,对于数据错误会调用自定义的函数errorLog去循环打印出对应的错误信息 |
1.2有没有使用断言(Assert)来保证我们认为不变的条件真的得到满足? | 有,如串口发送函数Usart_SendString,它底层调用USART_SendData函数,它的内部会调用assert_param断言函数来确保条件满足 |
1.3有无可能存在资源泄漏(内存、文件、 各种GUI资源、数据库访问的连接,等等)? | 无,理论上不存在泄露的情况,数据是通过覆盖实现的,而且存储数据的变量的大小是回传数据的2倍大,以确保不会 内存溢出 |
1.4数据结构中有没有用不到的元素? | 无 |
4.可测试性 | |
4.1代码是否需要更新或创建新的单元测试? | 目前没有这个需要,但是根据情况会更新单元测试(已对每一个模块进行了单元测试,也实现了部分的混合式集成测试) |
(3)运用“代码复审核查表”,回顾本小组项目这段代码
a 确认代码是否容易理解?
答:代码容易理解,主要功能是解析 GPS 回传的数据,虽然注释不算多,但逻辑相对清晰,能够理解代码意图。
b 是否符合代码规范?
答:符合代码规范,但注释需要进一步完善,以符合代码规范的要求。
c 代码是否正确?
答:代码逻辑正确,没有语法错误,可以正常编译和运行。
d 对于各种边界情况能否正确处理?
答:代码中考虑了部分边界情况,如数据是否为空等。