零基础 C++ 实习 第四周 提交代码

背景

经过近一个月的工作,第一个任务基本开发完成,接下来便进入到提交代码的阶段,有了前司的工作经历,天真的以为提交代码流程就是push和review,但事实却不是如此。

过程

主管周一提出,先将代码提交一版,熟悉一下代码提交的流程,第一次大概需要一周的时间。我不是很理解,直到了解到提交代码前需要经过gitlab的pipline检查,然后利用其中某一个检查项的脚本本地运行产生了二十几个报错时,才有所明白。代码检查主要有两类(主要是这次提交涉及的检查,应该还有其他的,比如对于核心代码会限制修改):一类是代码格式检查,空格,大小写之类的;另一类是语法检查。首先是解决格式问题,对于这个,我大胆猜测,很多人共同开发的项目,格式规范肯定会被写到项目中,于是看到了clang-format 的配置文件.clang-format,只需安装clang-format运行即可。接下来便是语法检查,

主要的报错有这些:

1.不能使用左值引用,要么使用常量左值,要么使用指针。

2.使用常量左值引用,就只能调用该类的常量函数。

对于第二点比较好理解,确实应该如此,常量引用类,就只能使用常量函数,想要使用非常常量函数就得换成指针。

但对于第一点还未能找到自恰的逻辑:gpt也胡言乱语,有待之后考究。

解决了这两个问题,发现仍然有一个检查项无法通过,看起来是引用库版本问题,对于这方面只能向同事求助了。得到的反馈时,这是项目的依赖库版本控制方法,需要先去bazel库里切出一个分支,修改各种库依赖的git版本,保证项目分支和该分支同名,以此来确定bazel时git的版本。该方法确实有效的解决了c++依赖混乱的问题,这也是在前司无法学习到的。

复盘

对于c++而言,严格的检查项确实能够有效避免语言使用不当而引发的各种问题。利用辅助库来配置各个依赖的版本,确实能够在大型项目开发中保证版本的管理,通过这次提交代码中确实可以窥见冰山一角。

#实习了我才知道的事##我想象的工作vs实际工作##正在实习的碎碎念#
零基础 c++ 实习 文章被收录于专栏

本栏用于记录一位零基础c++实习工作过程中对c++项目的思考

全部评论

相关推荐

2 3 评论
分享
牛客网
牛客企业服务