搜索

[开发工具] 单片机的项目有没有必要分模块多人协同开发?

[复制链接]
811|14
 楼主 | 2021-5-3 23:13 | 显示全部楼层 |阅读模式
新入职了一家公司,感觉他们做的产品并不是多难,一个三年左右的工程师差不多就能独立搞定。部门领导入职也不到半年,经常吐槽代码写的很乱(看过代码后,确实挺乱)、代码规范不严谨、逻辑不够清晰、产品bug满天飞,然后新领导下令整改,要分工分模块化开发,每个人只负责一个产品中的一到两个模块。可是我个人感觉这样效率可能并不会提高啊,部门同事之前的开发模式应该是一个人负责一个项目,虽然代码写的乱我所理解的是因为懒,懒得去重构,能够跑起来就行了后面再去填填bug修修补补,导致代码越来越烂,但是独立负责一个项目的好处是能够站在一个全局的角度上去审视自己负责的产品,如果分工太细,可能要多花一些时间去沟通、协调,为了打通各模块之间的联系肯定要对一些函数进行封装,而结果可能就是过度封装导致代码执行效率下降,对于单片机的程序来说代码的执行效率是一个很重要的设计点。还有一点,模块化开发,我感觉自己会变得越来菜,毕竟能够接触的东西越来越少了,对于一位靠技术吃饭的人,这也许并不是一件好事儿。
(PS:我说的模块化开发并不是单片机程序框架上的模块化,而是开发模式)

使用特权

评论回复
| 2021-5-4 14:20 | 显示全部楼层
通常可以按“层”来分,比如做的硬件的兼顾搞搞驱动层,小公司一般也没啥中间层,就在驱动层上直接上应用层。

使用特权

评论回复
| 2021-5-4 16:56 | 显示全部楼层
简单问题复杂化,在搞规范和流程时,也丧失了机动性和灵活性,增加了成本和不必要的支出,见过一家中小公司,明明很简单的东西,非得装逼格,搞大企业那套体系和流程(是真搞),去年疫情,行业不景气,把自己给搞死,最好的方法是培养核心骨干,真正做到“尊重人才,以人为本”,而不是为了所谓“两条腿走路”,搞那些不必要的掣肘,等于变相把公司“阉割”了。

使用特权

评论回复
| 2021-5-4 22:24 | 显示全部楼层
欧美公司都是这样搞的。但是,他们有钱投入,能把项目用钱烧出来。中国,只有华为能搞得起。到并不是华为有多厉害,而是华为有无限的贷款支持。其它家嘛,这样搞离死就不远了。

使用特权

评论回复
| 2021-5-5 08:31 | 显示全部楼层
nstel 发表于 2021-5-4 22:24
欧美公司都是这样搞的。但是,他们有钱投入,能把项目用钱烧出来。中国,只有华为能搞得起。到并不是华为有 ...

这不是钱的问题!是企业管理及所处状态的问题!
小公司搞不了模块化分工?
很多小公司无用项目太多,研发周期太短。

人工智能万物互联推进,小作坊式的研发快到尽头了。

使用特权

评论回复
| 2021-5-5 11:31 | 显示全部楼层
看项目了,当然可以,当然 了约定好各个模块的接口很重要。

使用特权

评论回复
| 2021-5-5 16:00 | 显示全部楼层
这个相当于做库,做好通用模块,做好了,就需要知道实参形参,功能调用,反而简单,需要沟通协调好,以后,公司做产品比较容易,但是软件体积会大了。

使用特权

评论回复
| 2021-5-5 16:36 | 显示全部楼层
问题不在于是不是是模块化,而是这些模块能不能在不同的项目里面复用。
如果每个项目里面,读写EEPROM,串口收发都要重写,那每次都划分出来确实没有必要。但是,若果这些基本功能可以"标准化“,随便什么项目都可以直接调用,那么其实大多数项目只要写一个模块,也就是核心逻辑模块。

使用特权

评论回复
| 2021-5-5 20:42 | 显示全部楼层
跟公司大小无关。
看项目吧,项目复杂度比较高的时候我觉得分模块是合理的。
小项目要是也这么搞的话就有点扯了,总共就几个功能模块还分成几个人来做,哪有那么多闲人可以挥霍,协作时间成本都高于写代码的时间成本了吧。

使用特权

评论回复
| 2021-5-5 23:28 | 显示全部楼层
我会将每个驱动过的 芯片 都单独一个驱动程序,在所有项目里面 尽量通用,不直接写对应的 单片机的pin 用宏来定义他们,就比较通用了,每个项目 可以很方便的调用,
尽量用 os  将 任务解耦

使用特权

评论回复
| 2021-5-6 11:27 | 显示全部楼层
一切的关键只是楼主怕学不到东西,感觉在公司容易被人替代,所以没法安心工作了,有抵触心理

使用特权

评论回复
| 2021-5-6 12:00 | 显示全部楼层
看项目大小

使用特权

评论回复
 楼主 | 2021-5-6 12:30 | 显示全部楼层
diweo 发表于 2021-5-5 16:36
问题不在于是不是是模块化,而是这些模块能不能在不同的项目里面复用。
如果每个项目里面,读写EEPROM,串 ...

程序框架的模块化当然更好,无论可移植性还是代码结构都有好处。

使用特权

评论回复
 楼主 | 2021-5-6 12:34 | 显示全部楼层
yklstudent 发表于 2021-5-6 11:27
一切的关键只是楼主怕学不到东西,感觉在公司容易被人替代,所以没法安心工作了,有抵触心理 ...

自己买块板子也能学到东西,无非是学以致用的问题。至于怕被人替代什么的,抱歉没想过,我还年轻

使用特权

评论回复
| 2021-5-6 15:03 | 显示全部楼层
本帖最后由 515192147 于 2021-5-6 15:08 编辑

功能集中式单芯片开发模式:所有功能在单一芯片里完成,常规模式;
功能分散式多芯片开发模式:用不同的芯片 完成不同的功能,再用高速 通信把 不同的芯片 通信 起来,类似 工业自动化 的 DCS,分散控制,集中管理我公司 正在计划研究推出“功能分散式多芯片开发模式” 的开发板,不知道 有没有 前途???



使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表