当前位置:   article > 正文

刚找到工作,碰到新项目,怎么入手?

刚找到工作,碰到新项目,怎么入手?

之前有特训营老铁说,刚找到工作,碰到了新项目,没有头绪,该怎么入手?

10几年前,我刚入职单片机开发时,也慌得一批,在此之前,我只懂51单片机,玩过智能小车。

好在,刚开始只是维护老项目,用的也是STC的单片机,基本的开发环境还算用过。

如果是应届生,或者刚转行过来的,一般公司不会直接让你参与新项目的开发,除非是比较简单的。

毕竟只是面试的时候,听你吹过牛逼,实际是骡是马,还得先遛遛,了解说熟悉,熟悉说精通的人太多了。

其实,维护老项目,也很头痛,就像TM像破案一样,不断揣摩前任工程师的编程思维,看到一堆屎山代码,还会边揣摩会边骂他。

特别是碰到那种乱七八糟的代码,变量函数命名不规范,没有模块化编程的代码,就是一种折磨。

如果刚开始很痛苦,心态要摆正,毕竟每个工程师,都是从这水平过来的。

我也不例外,从改代码维护老产品都费劲,到自己能勉强独立完成简单项目,再到独立完成复杂的项目,最后能设计整体程序架构,保证实现功能为前提,又不失可扩展性和可移植性,这条路,我摸索了快10年。

原来我的代码风格是这样的:

现在是这样的:

关于程序架构,我曾经也录了个教程:

我觉得对有基础,或者工作1-3年的人,有很大的参考价值,可以找我无偿安排,无套路。

当然,这不意味着你要这么久,本身没有多复杂的技术,问题主要在于,在过去的工作中,难得有机会去独立完成复杂项目的研发。而且做项目过程中,细节问题太多,又找不到人及时指导,所以慢。

很多你碰到的新项目,并没有你想象中这么复杂,只是没有一个清晰的开发流程。

很多老铁在学我们无际单片机项目时,只关注了项目内容,代码,却忽略了我们的开发流程。

你有没有这样一种感觉?

让你去做某个新项目时,你总是站在宏观的角度去思考,怎么完成这个项目?

从宏观的角度去思考,会非常迷茫,因为要想的问题太多了。

而没有抽丝剥茧,这个项目都由哪些小模块拼凑而成?

如果你仔细去学我们项目,会发现我们开发步骤如下:

1.一定要先熟悉项目功能

我刚工作时,着急完成任务,一上来就抱着代码啃,通过代码去理解功能是逆向工程,没经验的情况下,比较困难,正确的顺序是,先理解功能,再思考实现思路。

2.熟悉硬件原理

熟悉项目所使用的单片机,以及各个功能电路是如何连接和工作的,了解其中协议和原理。

3.熟悉开发环境

碰到新项目,我会先搭建好开发环境,编写一个让LED循环闪烁的程序进去,这样如果后续增加新程序有BUG,导致死机了,能及时发现。

另外,如果支持在线仿真调试的(如SWD、JTAG),一定要把仿真环境搭建好,有利于后面代码调试和故障排查。

4.制定开发计划

将项目分解为多个小模块,细分成一个个小任务,逐个突破,这样难度也更小,做事也更加有条理。

按照时间线去推进,这样领导来问的时候,有个直观的进度可以展示,领导看了心理也有底。

一般我是先把项目用到的外设调通,再调产品功能,大部分工作都是在产品功能实现,单片机外设的代码,一般直接找代理商,或者去芯片官网下载,不要自己去折腾。

还有一些在开发过程中的习惯,也很重要。

比如按照模块化和可重用性的原则去写代码,后面整合功能的时候,你就知道有多重要了,否则单独跑没问题,代码一整合起来,功能就各种相互冲突。

还有就是程序版本的管理,可以用Git管理,我一般直接以文件夹的形式,保存在本地,自己电脑存一份,移动硬盘存一份,公司电脑存一份,稳得一批。


最近很多粉丝问我单片机怎么学,我根据自己从业十年经验,累积耗时一个月,精心整理一份「单

片机最佳学习路径+单片机入门到高级教程+工具包」全部无偿分享给铁粉!!!

除此以外,再含泪分享我压箱底的22个热门开源项目,包含源码+原理图+PCB+说明文档,让你迅速进阶成高手

教程资料包和详细的学习路径可以看我下面这篇文章的开头

单片机入门到高级开挂学习路径(附教程+工具)

单片机入门到高级开挂学习路径(附教程+工具)

单片机入门到高级开挂学习路径(附教程+工具)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/642654
推荐阅读
相关标签
  

闽ICP备14008679号