[STM32F1]

读同事移交的程序有感

[复制链接]
6974|122
手机看帖
扫描二维码
随时随地手机跟帖
fly1974|  楼主 | 2019-9-10 10:23 | 显示全部楼层 |阅读模式
本帖最后由 fly1974 于 2019-9-11 16:49 编辑

  前几天一个同事离职了,因为公司所谓的电工(电子工程师)就剩我一个,所以他写的代码等资料就毫无疑问的移交给我了,我的这个同事也算是个老工程师了,年龄不小,小孩子都上高中了,今天看到他的主板代码,刚开始读就大吃了一惊:   外部中断里面居然加了死延时(使用while实现),延时时间还不短,居然有10毫秒,怪不得stm32F103他都不够用,看来这个设备的代码结构要大改了(尽管已经作了大改的思想准备,但是看到如此低水平的代码,还是有点失望,这个同事做事情还算认真,可没想到专业的东西搞这么差,PCB也是的,画好的PCB找不到原理图,要改PCB还得先把原理图整理出来,他画的4层板就不管耐压不耐压,中间两层分别连24V的正极和负极,分割区域内有一块是交流220V的,居然没有将中间层挖空!)!  
     写这边帖子的目地,不是为了嘲笑我同事技术不行,只是希望大家少犯这种低级错误;另外我其实不满的是我同事从我这借了公司钥匙,最后他离职时我问他要他不肯还给我,还要咨询主管意见,做事情畏畏缩缩地样子;还有其实就事论事我是支持我同事离职的,要换作我是他,我也许走得更快,因为我同事离职前被自己调试的设备砸成了工伤,我认为同事被砸伤的原因很大程度在于设备盖子没有下落缓冲装置,是设计不完善,不过负责机械部分研发的同事貌似没有意识到这一点!
void EXTI9_5_IRQHandler(void)
{                        
   delay_ms(10);      

void delay_ms(u16 nms)
{                                    
        u32 temp;                  
        SysTick->LOAD=(u32)nms*fac_ms;//时间加载(SysTick->LOAD为24bit)
        SysTick->VAL =0x00;           //清空计数器
        SysTick->CTRL=0x01 ;          //开始倒数  
        do
        {
                temp=SysTick->CTRL;
        }
        while(temp&0x01&&!(temp&(1<<16)));//等待时间到达   
        SysTick->CTRL=0x00;       //关闭计数器
        SysTick->VAL =0X00;       //清空计数器                     
}  

另外我把后面帖子的部分内容贴过来,简单说一下:
下面这段代码就像是城市公交车,每10分钟一班,结果某人在等公交车时却等了3-5个小时,如果是因为刮风下雨等自然灾害的偶发因素引起的,一般人就忍了,关键是10次里面可能有4-5次都出现了很长时间等待,又没有啥特别的原因,我估计一般人都忍不了,等公交的可能会把调度给骂晕了!
void TIM3_IRQHandler(void)                   //1ms中断
{         
    //u16 flag=0;                                                        
        if(TIM3->SR&0X0001)//Òç³öÖжÏ
        {   

                sect_strim();                 //2017.04.06         执行时间可能远大于1mS
                if(dq_flag==1)                                  //2019.07.16  add
                {
                  qpshu_dis();              //    执行时间可能远大于1mS
                }        ....
      }
        TIM3->SR&=~(1<<0);//Çå³ýÖжϱê־λ            
}




使用特权

评论回复
评论
fly1974 2019-9-12 22:16 回复TA
其实大家心里面都明白,这里面好多攻击我的人,其真实身份不过是所谓的五毛,发帖攻击我我也能理解,不过我还是希望不要做得太过分! 
fly1974 2019-9-12 22:04 回复TA
本来是一篇技术兼发发牢骚的帖子,愣是让我看到了犹如一出大戏出演的画卷,人生如戏,帖子居然也能看出人生险恶了,其实发帖子之前我就有思想准备可能会有人对我不满,没想到啊没想到,不过无论如何我都会坚持不删帖这一条,或许会让很对人失望呢! 
fly1974 2019-9-11 16:51 回复TA
@icecut :已经取消了,各有利弊吧,不打勾看帖的人比较方便,打勾了发帖的方便 
icecut 2019-9-11 16:46 回复TA
@fly1974 :你还是别打勾了. 逆序还真麻烦. 
fly1974 2019-9-11 14:30 回复TA
@神奇号 :帖子里面有个选项:回帖倒序排列,打个勾就可以了,这样看最近的帖子不用翻到最后面去! 
神奇号 2019-9-11 13:09 回复TA
好奇怪,你这个帖子怎么是倒着的,1楼在最后 
YDCMAN 2019-9-11 11:50 回复TA
还是不要评价的好,每个人审美不同,有可能是故意写的这么晦涩,重在理解程序的流程,怎么写都是有原因的,“挽弓当挽强,用人当用长。射人先射马,擒贼先擒王。”,看过神雕侠侣中关于独孤求败练剑的体会吗?有可能他已经到了另一个境界了 
fly1974 2019-9-11 11:14 回复TA
@thinkabout4451 :是的,已经离职了,大家都不碰面了,把一些不合理的地方拎出来讨论一下,做一个反面典型,希望大家少犯这种低级错误吧,至于单位内部我是不会轻易评价一个人的能力的,毕竟不在我的职权范围内,不过我这个同事在单位我倒是听过一些其它人对他的负面评价,我一般都是随便应付一下,不会轻易发表看法。 
thinkabout4451 2019-9-11 11:05 回复TA
@fly1974 :都是出来混饭吃的,多些包容也是对自己的宽容,这种事我遇到的多了 
fly1974 2019-9-11 11:02 回复TA
@thinkabout4451 :可能是我漏了,我同事的代码其实只是将我以前msp430的代码移植到stm32F103上,另外将普通液晶屏改为触摸屏而已,代码有亮点也有缺点,不过我觉得有些缺点太不符合他一个资深电工的身份了! 
rgjinxuan| | 2019-9-10 10:36 | 显示全部楼层
有本事自己写   不要天天****歪歪  

使用特权

评论回复
rgjinxuan| | 2019-9-10 10:37 | 显示全部楼层
我最看不起你这种人   人家跑了  你天天怪话

使用特权

评论回复
评论
fly1974 2019-9-11 19:59 回复TA
@shipeng1989 :这个可能性及其小,可以忽略不计,但是社会上的人形形色色,电工也是如此,有的电工以工作有成为乐,有的则以收入丰厚为乐,有的以踩别人一脚为乐,有的则以别人落魄为乐,甚至还有的以自欺欺人为乐! 
icecut 2019-9-11 16:45 回复TA
@shipeng1989 :哈哈哈, 看不起他把代码写好文档写明白....否则.呵呵呵 
shipeng1989 2019-9-11 09:11 回复TA
楼主注意,这个人不是你同事就是你同事的亲戚又或者是你同事的马甲 
fly1974|  楼主 | 2019-9-10 10:43 | 显示全部楼层
本帖最后由 fly1974 于 2019-9-10 10:52 编辑
rgjinxuan 发表于 2019-9-10 10:37
我最看不起你这种人   人家跑了  你天天怪话

   作为一个电子工程师,既然选择了自己的职业,就要对它负责,自己的本职工作都做得一塌糊涂,在社会上还怎么混?关键是这个同事被领导给鄙视了,搞机械的领导都知道他的程序架构很可能不合理!   我的看法是如果想做电子工程师的,就要努力学习,虚心向同事请教或者经常上论坛交流专业知识,核心的画板子写代码的基础技能一定要说得过去,否则不如早点转去做销售卖大楼算了!

使用特权

评论回复
评论
R2D2 2019-9-19 20:49 回复TA
卖楼的工作也不错么。 
kingkits| | 2019-9-10 11:38 | 显示全部楼层
每一个设计或者代码都是通过不断地迭代产生的,即使是一个工程师本人能从头到尾做下来,其样子也跟最初的设计相差很远。更何况有些东西可能也不是他设计的。
当你接到一个项目的代码或者设计时,不要习惯于抱怨之前的东西有多烂----至少它能工作,这就是它的价值。我可以肯定,在你接受之后,
你也不能保证在将来有一天你把它交出去时,它能变成你期望的那样,同样会有你的后继同事用你相同的口吻评价你。

使用特权

评论回复
fly1974|  楼主 | 2019-9-10 12:27 | 显示全部楼层
本帖最后由 fly1974 于 2019-9-10 19:28 编辑
kingkits 发表于 2019-9-10 11:38
每一个设计或者代码都是通过不断地迭代产生的,即使是一个工程师本人能从头到尾做下来,其样子也跟最初的设 ...

你说的这些我都知道,不过,外部中断里面加长延时这个错误对于电工有点太夸张了,写单片机程序无非就是时间和空间资源的合理利用,这个错误明显就是不合理啊。其实我对这个同事的专业差倒没啥特别的看法,毕竟浪费的主要是老板的钱,我比较郁闷的是这个同事离职的时候临走那一天我问他要我借给他的公司钥匙(他问我借的公司钥匙,我看他上班比较早,就默认借给他了,后来一直没让他还),他居然不还给我,最后居然问我们主管说能不能还给我!搞得畏畏缩缩地,电工的脸都让他给丢完了!   首先他的钥匙是从我这借的,就有义务还给我,毕竟钥匙是我承担了保管责任的,其次他离职走人,就必须提前将公司的财产交接干净,他一直拖到离职那一天下午都不交钥匙,起码我就对他有看法,最后等我催他还钥匙了,他还装模作样去请示主管,问要不要把钥匙还给我,我不管他啥想法,反正我是超级不爽,最起码,以后我会避免和这样的人打交道!

使用特权

评论回复
aolin| | 2019-9-10 15:23 | 显示全部楼层
非常认同楼主的看法,这种代码做个演示可以,但绝对不是产品上使用的。
不单只楼主同事,我见到过的很多毕业生都是这样,本来教科书就是这样教的,他们也就毫不犹豫的这样用了

使用特权

评论回复
fly1974|  楼主 | 2019-9-10 15:46 | 显示全部楼层
aolin 发表于 2019-9-10 15:23
非常认同楼主的看法,这种代码做个演示可以,但绝对不是产品上使用的。
不单只楼主同事,我见到过的很多毕 ...

  其实我不是很关心我同事的代码质量,顶多写的差就重写一遍,反正浪费的不是我的钱,我是觉得我这个同事太保守了,平时没见他讨论过技术问题,我接手时他的项目里面很多错误,但是他和我同事两年多,就没看他主动问过问题,工作上也从没征询过我的意见,我也就懒得管他,毕竟大家都是普通电工,他也是作为资深电工被老板招过来的,可是接手后看到他的方案里面对产品耐压测试、抗干扰、代码实时性这些基本的东西都没概念,想到他还要到其它地方祸害其它公司,我就很无耐,电工的声誉都被他们这些人给搞烂了啊(我同事离职前我那搞机械的主管都已经对他蛮失望了,温度传感器的值要1分钟才更新一次,我过问了一下,他告诉我说机器温度变化不大,1分钟刷新一次就够了,关键是售后看着温度反应那么慢,都已经反馈给主管了,他还是无动于衷)!

使用特权

评论回复
评论
icecut 2019-9-11 16:43 回复TA
水平越烂越藏着掖着 
ayb_ice| | 2019-9-10 16:49 | 显示全部楼层
本帖最后由 ayb_ice 于 2019-9-10 16:50 编辑

一看这种延时代码就明白了,根本没有框架概念
浪费了这么重要的硬件资源

使用特权

评论回复
wangjiahao88| | 2019-9-10 16:52 | 显示全部楼层
中断加延时,的确对程序的运行,有非常大的影响。

使用特权

评论回复
dsyq| | 2019-9-10 16:53 | 显示全部楼层
我了解的公司所有产品都是PCB Layout和原理图分开的,对不起来的。

使用特权

评论回复
xch| | 2019-9-10 16:55 | 显示全部楼层
这种公司你也不用呆了,趁早离职。

使用特权

评论回复
fly1974|  楼主 | 2019-9-10 16:56 | 显示全部楼层
dsyq 发表于 2019-9-10 16:53
我了解的公司所有产品都是PCB Layout和原理图分开的,对不起来的。

  我这边小公司,用99SE的,一般先画原理图,再根据封装做PCB的,没有原理图或者原理图和PCB不对应后面在PCB基础上再修改就比较麻烦!

使用特权

评论回复
fly1974|  楼主 | 2019-9-10 16:59 | 显示全部楼层
xch 发表于 2019-9-10 16:55
这种公司你也不用呆了,趁早离职。

  外面的工作也不是那么好找的,起码我家附近薪水对得起我的专业水平,还能双休不加班的公司就非常少!

使用特权

评论回复
caoenq| | 2019-9-10 17:16 | 显示全部楼层
fly1974 发表于 2019-9-10 16:56
我这边小公司,用99SE的,一般先画原理图,再根据封装做PCB的,没有原理图或者原理图和PCB不对应后面在 ...

说了半天,到底给多少钱啊?

使用特权

评论回复
一叶倾城wwq| | 2019-9-10 17:54 | 显示全部楼层
看标题进来的,还能看懂,你算幸运的啦,少抱怨吧

使用特权

评论回复
fly1974|  楼主 | 2019-9-10 17:57 | 显示全部楼层
caoenq 发表于 2019-9-10 17:16
说了半天,到底给多少钱啊?

资深工程师9-10K一个月,我们公司在二三线小城市,薪水差不多就这样了,郁闷的是好长时间不涨了,也没啥年终奖!

使用特权

评论回复
pleee| | 2019-9-10 18:01 | 显示全部楼层
然而现实就是:你会看到很多人做很少的事情、没能力、没技术、整天搞内斗、拍马屁等,但是对方就是你的上层或者你的领导,拿着比你更高的工资。可能你觉得对方是个蛀虫,但是在老板眼里,那些人都是功臣,他们的眼界跟你这种只会做技术的不在一个层次上。  我只能说,这种现象很普遍,如过你只能看到对方的缺点,却看不到对方的优点,只会埋汰、抱怨、背地里诋毁。那你终究只是公司里的一个底层员工,拿着低微的薪水并且充满抱怨。

使用特权

评论回复
fly1974|  楼主 | 2019-9-10 18:24 | 显示全部楼层
pleee 发表于 2019-9-10 18:01
然而现实就是:你会看到很多人做很少的事情、没能力、没技术、整天搞内斗、拍马屁等,但是对方就是你的上层 ...

  早就想用脚投票了,谈了几家,暂时还没遇到合适的!不是待遇差就是要加班的,小城市机会少,慢慢看吧。

使用特权

评论回复
xk2yx| | 2019-9-10 19:30 | 显示全部楼层
也许给你的就不是最终版的程序。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:看得到未来;做得好现在。

29

主题

303

帖子

6

粉丝