基于单片机实现智慧灯杆--系统分析设计与实现

本文分析了一段C语言代码,评估其遵循的规范、可读性、错误处理、移植性以及资源管理。代码针对GPS回传数据进行解析,大部分符合规范,但建议增加详细注释以提升可维护性,并指出存在对平台依赖和进一步的单元测试需求。
摘要由CSDN通过智能技术生成

第六周作业

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
(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 对于各种边界情况能否正确处理?
答:代码中考虑了部分边界情况,如数据是否为空等。

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值