系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理
文章目录
前言
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对开发管理导读做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章
提示:以下是本篇文章正文内容
一、代码版本管理
1、github代码版本管理
从个人使用代码版本管理出发,介绍github代码管理及步骤,包括clone拉取下载项目/新建自己的仓库、新建自己的工作分支方法、代码开发过程管理、分支合并及冲突解决,并介绍git的其他常用指令及踩坑经验。
https://blog.csdn.net/qq_35635374/article/details/121343052
2、gitlab代码版本管理
从团队使用代码版本管理出发,介绍gitlab代码管理及步骤,包括gitlab账号与权限的获取、本地仓库版本控制、远程仓库托管、分支的基本操作、多人协同开发gitflow工作流程、远程开发的方法、拉取代码与推送代码、vscode编辑器的git插件、git 常见的问题处理方法汇总、代码开发及提交的流程、Beyond Compare、git自动化测试环境cd部署等等
https://blog.csdn.net/qq_35635374/article/details/126090839
3、SVN(Subversion)代码版本管理
介绍SVN(Subversion)代码版本管理及使用步骤
https://blog.csdn.net/qq_35635374/article/details/137564646
4、docker的介绍及使用–解决应用程序的环境配置问题
介绍docker及使用。Docker是一个开源的应用容器引擎,用于快速部署和管理应用程序。
https://blog.csdn.net/qq_35635374/article/details/138506120
二、代码编程规范
1、数据结构与语法规范
介绍C/C++开发的数据结构与语法规范,包括命名规范、函数规范、注释规范、代码格式排版规范、错误处理方式、代码组织(物皆有其位,而后尽其位)、特殊的技巧及一些工具,如clang-format代码格式规范工具的安装及配置
https://blog.csdn.net/qq_35635374/article/details/131611913
https://blog.csdn.net/qq_35635374/article/details/131083122
2、日志系统的搭建及代码debug方法–gdb
产品上线后,开发仍需要持续运维产品在不同业务场景下的表现情况何代码运行情况,以便发现并解决用户的问题。这就需要搭建日志系统、获取埋点打印信息、获取程序崩溃的堆栈信息,快速复现并定位解决问题。
本文介绍在在线与离线debug问题的工具与方法。不同的嵌入式系统平台有不同的debug工具,但是debug的思路都是大同小异的。
https://blog.csdn.net/qq_35635374/article/details/127326897
3、架构模式设计层(设计模式)
介绍架构模式设计的相关方法,包括ROS工程代码规范、工厂模式代码设计、命令设计模式、发布订阅设计模式、请求服务设计模式、单例设计模式、适配器设计模式逻辑代码重构及设计的技巧等等
https://blog.csdn.net/qq_35635374/article/details/131611947
4、代码重构
代码重构是开发过程中必不可少的一项工作,项目开发中为了快速响应业务需求往往存在不合理的技术方案与实现,不断积累技术债,技术债的长期累积会导致功能难以二次开发响应新的业务,代码冗余难以维护等等问题,当项目度过攻关期或硬件升级,产品升级时,要借助这些契机进行工程的重构优化工作。
本文介绍了一些工程代码重构的经验与方法,包括分析重构的目的、重构的挑战(难处)、大型\小型重构的程度及方法论、大型代码重构流程等等
https://blog.csdn.net/qq_35635374/article/details/131611967
5、程序设计Kiss原则
介绍工程代码设计的原则,包括代码开发原则和运维原则两大类
其中,
开发原则包括最少知识原则(Law of Demeter)、单一责任原则(Single Responsibility Principle)、开闭原则(Open Closed Principle)、接口隔离原则–对外接口设计、低耦合原则(Minimize Coupling)\依赖倒置原则(Dependence Inversion Principle)里氏替换原则(Liskov Substitution Principle)–继承规范、避免创建你不要的代码 Avoid Creating a YAGNI (You aren’t going to need it)、避免重复原则(DRY – Don’t repeat yourself)、抽象原则(Abstraction Principle )、简单原则(Keep It Simple and Stupid )、最小惊讶原则(Principle of least astonishment)、关注点分离(Separation of Concerns)、最大限度凝聚原则(Maximize Cohesion)、隐藏实现细节(Hide Implementation Details)等等
运维原则包括开闭原则(Open/Closed Principle),持续代码维护(Write Code for the Maintainer)、避免过早优化(Avoid Premature Optimization)、拥抱改变(Embrace Change)、鼓励相互review讨论的开发方式、每一次MR提交都是最小改动、代码管理的核心思想等等
需要根据项目的不同阶段采用合适的设计原则进行指导!
https://blog.csdn.net/qq_35635374/article/details/131840078
6、代码设计模式–如何提高代码的运行效率、可读性、可维护性、健壮性?
介绍通过代码设计模式,提高代码的运行效率、可读性、可维护性、健壮性。
理解设计模式作用、介绍23种设计模式的核心思想与具体实现
https://blog.csdn.net/qq_35635374/article/details/132416508
7、CPP代码检查工具
提高C++的代码质量方法,仅仅靠个人编程能力难以保证团队整体的代码质量,需要使用一些代码检查工具保证基本质量。
本文介绍CPP代码的检查工具及使用步骤,包括GCC编译器工具、Cppcheck工具、gbd调试器、SonarCube等等。
https://blog.csdn.net/qq_35635374/article/details/133323874
8、源代码封装成库Lib的方法
介绍工程发布版本中,各个模块处小包来合成大版本的方法。不同嵌入式平台出小包的方法都不一样,但都和编译系统和工具链相关,需要理解工具链和编译流程的相关理论,本文介绍MCU(lib)和linux(.install文件)出小包或封装成库的方法。
https://blog.csdn.net/qq_35635374/article/details/127326321
三、代码测试
1、GoogleTest部署实践–测试用例代码,测开常用工具
介绍软件测试的GoogleTest工具,该工具常用于测试用例代码及接口代码。
本文介绍GoogleTest的理念、GoogleTest的环境搭建、编写googletest测试框架等等
https://blog.csdn.net/qq_35635374/article/details/133316474