当前位置:网站首页>嵌入式开发:5个修订控制最佳实践
嵌入式开发:5个修订控制最佳实践
2022-07-01 15:42:00 【粤嵌教育】
每个嵌入式软件开发人员都应该使用版本控制系统。当某些东西已经损坏,并且无法撤消时,回到以前版本的能力是一个救命稻草。即使嵌入式开发人员认识并使用了修订控制系统,他们也应该使用一些最佳实践,以确保他们的修订控制系统得到充分利用。
最佳实践1–排除调试文件夹
调试文件夹包含编译器为源项目生成的所有目标文件、二进制文件和可执行文件。虽然团队可能想要保存这些文件的发布版本,但是将它们保存在修订控制系统中有几个缺点:
l 目标和可执行文件往往很大,会很快耗尽修订控制系统中的大量空间
l 当签出修订版时,开发人员应该使用他们自己的工具链进行构建,而不要依赖于在不同条件下编译的文件
l 未更改的文件可能处于不同的状态,并在执行软件时导致意外行为
由于这些原因以及其他原因,嵌入式开发人员应该避免将调试文件夹及其内容保存在修订控制系统中。
最佳实践2–使用“忽略”功能
大多数版本控制系统,如git或mercurial,都有忽略某些文件和文件类型的功能。使用这个特性的一个好方法是为存储库系统应该忽略并且不添加到存储库中的对象、可执行文件和其他文件创建一个忽略条目。关于如何忽略文件类型的确切方法将因版本控制系统的不同而不同。最好的方法是查阅用户手册。
最佳实践3–提交详细的提交日志
当开发人员将代码提交给一个存储库时,要么不添加注释,要么添加的注释很少,以至于无法确定代码库中实际发生了什么变化。拥有一份关于代码和变更内容的详细列表,对于在需要时回滚并找到以前的版本至关重要。无数次,软件中的某些东西中断了,嵌入式开发人员需要检查日志,并确定该特性是何时添加或修改的。如果没有详细的日志,这个过程就变成了一场耗时的噩梦。每个日志中都应该包含一些关键信息:
l 软件版本号
l 软件中添加了什么,添加在哪里
l 软件中修改了什么,哪些模块受到了影响
l 包含软件版本所有当前已知未解决问题的列表
l 任何有益的一般性评论
最佳实践4–经常同步
修订控制系统只有在使用它们的开发人员经常同步他们的软件库时才有用。几天或几周不提交代码无异于自找麻烦。如果开发人员没有足够频繁地获取最新的变更,也会出现同样的问题。他们的软件会很快与代码库的其他部分失去同步。因此,嵌入式开发人员需要确保经常进行同步。如果他们不这样做,他们可能会发现自己花费了太多的时间试图将他们的代码合并到主分支中。
最佳实践5–标签/分支正式发布
当有一个代码库将被发布到野外时,通过分支或标记为正式发布来分离该代码。将这些代码分开将使开发人员更容易返回并找到代码版本。标记或分支为正式版本的代码也不应该以任何方式被修改,而应该作为原始副本保存。
结论
遵循这几个最佳实践将有助于确保你不仅使用修订控制系统,还能从该系统中获得最大收益。如果使用得当,修订控制系统可以节省时间和精力,这些最佳实践将有助于确保嵌入式开发人员充分利用自己的系统。
边栏推荐
- 一次革命、两股力量、三大环节:《工业能效提升行动计划》背后的“减碳”路线图...
- 2022 Moonriver全球黑客松优胜项目名单
- 入侵检测模型(An Intrusion-Detection Model)
- Équipe tensflow: Nous ne sommes pas abandonnés
- 药品溯源夯实安全大堤
- 【目标跟踪】|STARK
- MySQL backup and restore single database and single table
- Reading notes of top performance version 2 (V) -- file system monitoring
- Sort out the four commonly used sorting functions in SQL
- Survey of intrusion detection systems:techniques, datasets and challenges
猜你喜欢
S32K1xx 微控制器的硬件設計指南
Gaussdb (for MySQL):partial result cache, which accelerates the operator by caching intermediate results
Some abilities can't be learned from work. Look at this article, more than 90% of peers
Redis high availability principle
phpcms后台上传图片按钮无法点击
Returning to the top of the list, the ID is still weak
【一天学awk】函数与自定义函数
For the sustainable development of software testing, we must learn to knock code?
Phpcms background upload picture button cannot be clicked
求求你们,别再刷 Star 了!这跟“爱国”没关系!
随机推荐
HR面试:最常见的面试问题和技巧性答复
《性能之巅第2版》阅读笔记(五)--file-system监测
使用swiper制作手机端轮播图
摩根大通期货开户安全吗?摩根大通期货公司开户方法是什么?
Create employee data in SAP s/4hana by importing CSV
《QT+PCL第六章》点云配准icp系列3
MySQL advanced 4
她就是那个「别人家的HR」|ONES 人物
MySQL高级篇4
自动、智能、可视!深信服SSLO方案背后的八大设计
Go zero actual combat demo (I)
Zhang Chi's class: several types and differences of Six Sigma data
[one day learning awk] conditions and cycles
Tanabata confession introduction: teach you to use your own profession to say love words, the success rate is 100%, I can only help you here ~ (programmer Series)
Sort out the four commonly used sorting functions in SQL
Returning to the top of the list, the ID is still weak
Zhang Chi Consulting: lead lithium battery into six sigma consulting to reduce battery capacity attenuation
SAP CRM organization Model(组织架构模型)自动决定的逻辑分析
张驰咨询:锂电池导入六西格玛咨询降低电池容量衰减
求求你们,别再刷 Star 了!这跟“爱国”没关系!