我的串口控制交付项目总结

我的交付项目总结

单板串口控制项目是我进入公司的第一个独立交付项目,大体流程:

I 接到需求(3.23日)

总体流程看上去是非常复杂的,至少会有14个步骤,每个步骤实现相应的控制流程,共计约100多类串口命令;测试结果放入Excel中;(流程好复杂…,C#我刚入门半个多月,BBU和单板的操作具体咋搞啊…,先学习一下吧)

2. 一周时间功能开发

3.24-4.2熟悉总体控制流程,将串口命令按照功能划分,放到Excel中,摸索BBU和单板串口的控制方法,根据流程写顺序函数,每个函数实现一个功能,大体写了有20个左右的函数,总体控制架构OK。(学习了Excel的读取方法,POI/OLDB,程序写了这么长,功能是否OK呀,我还没有来的及验证,肯定有很多问题,老大催着交付,赶紧给项目验证下吧)

3. 一周时间紧张调试

4.4-4.9,需求有变动,有些命令变动,程序又要加几个小功能,存储格式有些变化,初步调试,一堆问题,赶紧改吧…(这周,每天晚上工作到10点多,另外一个项目又催的急,只能给他们加班晚上调试修改,两个项目都很急啊….)

4. 一周时间的版本稳定

4.11-4.16,这周这个项目终于问题少了很多,不过有个大问题-存储经常异常,常常丢失数据,本来感觉数据量太大(1M),把存储修改为每12小时存储一个Excel,结果还是有人8小时后就挂死,没办法,千死万想,找了部门的老员工求助,最终将Excel存储数据精简,多余的数据存储在TXT中,最终问题解决;

主程序代码量:1500行+,函数数量30+,调试稳定时间约2周,而且后面零星的需求量多,基本都有修改代码的必要,简直不胜其扰!

这个项目,我的错误太多,需要改进的地方也有很多,我感觉有很多地方可以改进的地方,比如沟通交流、软件构建、需求理解、程序设计等等有太多需要改进的地方,我就先从我最想写的地方写起来吧——软件构建。(另起一篇博客吧。。。)

这里写图片描述

后记:程序重构

之前的程序使用效果还可以,项目组决定继续开发,适应新的需求,同时提高测试效率(多线程并行处理)

1.功能抽象再提升

之前程序的设计,是根据需求的的功能点实现的,而且对每一个功能点写一个函数,每一个功能点要匹配唯一的指令(配置在EXCEL表格当中),程序功能点众多,导致程序函数有30+个,程序灵活性很差,调整一个功能的顺序,代码得修改,调整一个串口返回值的判决,程序得修改,导致程序跟着需求的变动,随时进行修改,程序健壮性差。
抽象提升:仔细研究发现,串口指令虽然非常多,但是命令的种类很少,基本上可以分为:设置命令、read命令、需要绑定特定参数的命令等,根据命令类型设计程序,给程序对命令的处理提供了很大的灵活性,同时不去理会命令的功能,大大减少了函数的数量,使得代码量和函数数量分别减少70%和60%,最关键的是,修改代码的必要性减少80%

2.逻辑层和底层的分离

参照MVVM的分层思想,将整个项目的程序分为:逻辑层、物理层、界面控制层,逻辑层实现整个芯片的串口控制逻辑,物理层实现对物理串口的打开、关闭,已经串口的发送和读取的控制,界面控制时间交给用户的接口控制端;
目前该过程正在进行中。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值