作者:刘工,排版:晓宇
微信公众号:芯片之家(ID:chiphome-dy)
本人工作多年,也算是个小司机了,见到过很多习惯非常不好的代码,别人阅读起来可以说是绞尽脑汁,非常令人费解。最近换了份工作,打开前任的代码,5000多行一下到底,这还真是第一次亲身经历。
先简单介绍产品的功能:
产品主要是控制电机的,输入电源220V,采用STC89C58RD+和STC12C作为主控芯片,外设及功能主要有12864液晶,实时时钟DS12C887,继电器控制,红外遥控器接收,6个按键,EEPROM,运放采集电流互感器电流,作为电机接入故障反馈。
开始吐槽代码开头部分
部分变量声明,好家伙,密密麻麻的,没有注释,反正随便定义变量不要钱,想怎么定义就怎么定义,什么ss,sg,ds,hf0,鬼知道这是什么意思
部分函数声明,可以预想的到,也是堆在一起
最后看看结尾,5375行,都在一个C文件里面,厉害了我的哥,程序中也是很多delay,可能这哥们会说,我实现功能就行了啊,又不是不能用,呃......好吧,你赢了!
代码量:
最后再看一下工程目录:
一个文件直接到底,没有任何的头文件以及分类,当我看到这个文件的时候,瞬间泪崩!!!下图展示代码臃肿跟代码精简的区别。
下面分享一些好的代码习惯:
很强大!低耦合高内聚的MCU实用软件框架
别用代码逼死你的队友
一些技巧,如何更高层次编写优质嵌入式C代码?
状态机——单片机的万能语言(附代码)
【实例分析】让你的软件飞起来,算法不一样,速度可以从120秒变化为0.5秒
如何写出好代码?附资深码农的个人代码规范
3年的MCU工程师就写出这样的代码?
搬上小板凳,听嵌入式大牛讲解硬核单片机编程思想!
咱设计程序是先考虑架构,还是拿起键盘就是干?
完全由C编写,高度可移植,超级牛逼的菜单架构!
完全由C编写,高度可移植,超级牛逼的按键驱动机制!
完全由C编写,高度可移植,超级牛逼的软件定时器!
论一个程序员的编程修养(精品好文,建议认真品读并实践)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)