创建CBB心得

本文来和大家分享制作 CBB 公共组件的一些心得

在创建 CBB 的时候的两个核心问题是:让开发者开发的开森;让使用方使用的开森。前者就是本文的讨论内容,后者基本都是靠 API 设计

让开发者开发得开森,就涉及到开发策略的不同

在创建 CBB 的时候我尝试有两个不同的策略,本文将和大家讨论使用这两个不同的策略在开发效率以及 CBB 推动上的不同差别

下面先来和大家聊聊这两个不同的策略

第一个策略是在创建的 CBB 独立仓库项目里面进行开发,然后开发完成之后再进行项目的接入

第二个策略是在具体的项目里面开发,在开发完成发布之后,再将逻辑抽取为公共组件,放在公共组件仓库

采用这两个策略不意味着从始至终都需要采用某个策略,可以灵活根据需求在开发过程中进行切换。接下来讨论这两个策略的优缺点

第一个策略在独立的仓库项目开发,此时为了确定功能,大部分都是需要通过额外的 demo 以及单元测试的辅助。因为是放在独立的仓库里面,也就很难会耦合业务,也不会耦合具体某个项目的功能,做出来的功能相对通用。而且调试起来很轻,不需要加载具体的大项目,只需要跑起来 demo 即可。而在此过程,可以愉快添加更多的单元测试,用于多个入口的进入。而这些 demo 和单元测试,在开发完成之后,可以反馈给后续的维护阶段,在维护阶段中,可以用上这些 demo 和单元测试来提升维护的效率。使用策略一可以脱离业务端进行开发,可以编写出覆盖更多的范围的测试用例而不会被限制到具体项目的某些业务上,对于其他项目的接入会更友好

但是也因为第一个策略是在独立的仓库项目开发,因此大部分的我的这些项目都会在经过一段时间开发之后,再接入具体项目时,出现了业务需求的不匹配,或者 A

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的串口通信CBB封装代码,供您参考: ``` // 定义串口通信CBB类 class SerialCBB { private: int baudrate; // 串口波特率 int databits; // 数据位 int stopbits; // 停止位 char parity; // 校验位 int com_port; // 串口号 public: SerialCBB(int baud, int data, int stop, char parity, int port) { this->baudrate = baud; this->databits = data; this->stopbits = stop; this->parity = parity; this->com_port = port; } // 打开串口 bool Open() { // TODO: 打开串口代码实现 return true; } // 关闭串口 void Close() { // TODO: 关闭串口代码实现 } // 发送数据 bool SendData(char* data, int len) { // TODO: 发送数据代码实现 return true; } // 接收数据 bool ReceiveData(char* buffer, int len) { // TODO: 接收数据代码实现 return true; } }; ``` 在上述代码中,我们定义了一个SerialCBB类,并添加了串口通信所需的成员变量和成员函数。其中,构造函数用于初始化串口波特率、数据位、停止位、校验位和串口号等参数。Open函数用于打开串口,Close函数用于关闭串口,SendData函数用于向串口发送数据,ReceiveData函数用于从串口接收数据。这些函数的具体实现需要根据具体的串口通信库和操作系统来编写。 值得注意的是,在串口通信CBB封装代码中,我们使用了TODO注释,表示需要根据具体情况来实现相应的代码。在实际开发中,我们需要根据具体的需求和环境来编写相应的代码,实现串口通信CBB功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值