【经验分享】工程开发与Coding规范_git

 

今天分享分为两部分 :)

PART01 工程开发+代码规范分享/

PART02 关于某易云自动签到听歌分享-


 

5Mins  Dev+Coding Rule:

PART 1 

 

了解真实工程开发🏗.....

 

本篇内容分享的宗旨: 学长工作经验之谈仅作分享🏷

 

 

 

Ready,Go

 

 

 

 

代码管理——工具篇

 

•工程上首先需要解决的大事就是代码管理

•工欲善其事,必先利其器

•工具的演进: VSS > CVS > SVN >GIT(+LFS)

•GIT常见指令

 


 

代码管理——分支管理

【经验分享】工程开发与Coding规范_django_02

 

1.确定开发计划后,从稳定分支(master)clone一个开发分支dev_{version}

2.由dev_leader在开发分支上建立初步基线代码,以便整个开发团队进行下一步的模块开发

3.开发团队各特性负责人从开发分支拉出特性开发分支feature_{version}_{name}

4.特性开发完成后,开发者将特性分支合入开发分支。确定满足条件的可合入release分支进入提测环节

5.测试迭代期间,bug修复在release分支上进行,并将代码同步回开发分支

6.重复上述流程4与5,直到所有特性开发完成并测试

7.合入master并打tag

 

代码管理——CodeReview

 

1.master作为工程项目稳定主分支来维护,对master的合入修改必须要经过严格的CodeReview

2.对于gitlab项目,回收master分支修改权限,需要合并入master的代码,可以依托于gitlab提供的Merge Request操作,提交merge request到指定的评审人;

3.对于gerrit项目,保持所有master分支与release分支的修改评审环节,删除其它dev分支与feature分支的评审流程;

4.代码提交者与评审人不能是同一人,必须交插安排。原则上,评审人应该是经验丰富的工程人员,避免评审中的疏忽大意。如果某评审人连续两次因为评审失误导致把关不严问题,短时间内不得再安排评审任务。

5.评审人以2-3人为佳,评审过程保持与提交人沟通顺畅,确保代码理解一致。

🔊以上内容重要的是实操

 

代码管理——静态扫描


Lint工具【经验分享】工程开发与Coding规范_开发_03

 

设计——架构

  1. 话题太大,无从入手
  2. 总结了一下目前公司SDK类的研发框架
          sdk依赖 + 基础处理库 + 业务实现 + API封装 + [模型配置定制化] +[多平台编译]
  3. 推荐在线设计工具:processon.com

【经验分享】工程开发与Coding规范_git_04

 

设计——API接口设计原则

 接口三要素:数据结构,错误码,接口定义

•原则一:接口定义少用STL标准模板库,多采用基本类型

•原则二:接口参数控制到5个以内

•原则三:对输入类自定义结构型参数,多以const指针引用为好

•原则四:命名准确,注释清晰无歧义,尤其对返回值或错误码要重点说明

•原则五:尽量减少接口函数数量以降低模块间的耦合

•原则六:接口中涉及的自定义数据结构,最好采用定长类型(char, short, int, int8/16/32/64, float, double)

 

编码——CodingRule

C++Code Style (google)参考


 

【经验分享】工程开发与Coding规范_规范_05


后台回复【操作系统】获取上期pdf分享

【经验分享】工程开发与Coding规范_django_06

🔊

看到这里,学长最后再分享一个好消息,就是恭喜学长,终于收到了百度的offer,入职Baidu的时间定在了下月,其实提出离职的时候,Leader我们的架构疯狂挽留我,还说要涨很多很多钱,我似乎快动摇了,但是离职这种东西,说了就说了,覆水难收,至于原因,大家以后就会懂的。而且我认为,一匹得到伯乐的野马,哪里都会是我驰骋的广阔草原🐎

 

其实我很怀念这些共事的朋友,印象中同事们对我评价最深的一句话,是位生过二胎的姐姐开会时候说过一句'我觉得刘旺同学靠得住',正是这句话仿佛烙印在了我的心上,一直让我待人以最真诚,处事以原则。虽有不舍,但还未入职的我正满怀热忱,也同时万分期待着我的新鲜血液融入集体,和新的小伙伴共同前行。

 

最后,希望在百度的我可以做的更好,不辜负几位面试官的赏识,更不负自己那一份野心,也一样做真实的自我🙆‍♂️

【经验分享】工程开发与Coding规范_开发_07

 

 


 

好了,先到这里了,如果大家在实践中有什么问题,可以给我留言,Bye~

 

-以上简单描述希望对你有所帮助。共勉-

以下为之前分享的宝藏内容

希望学长分享的内容对你我都有帮助💪


Pandas系列文章

 

【经验分享】工程开发与Coding规范_django_08

django系列文章

​【Django教程】第15天:ORM性能优化和提升​

​【Django教程】第14天:debugtoolbar开发工具​

​【Django教程】第13天:Email-邮件发送​

​【Django教程】第12天:后台管理-admi​​n

​【Django教程】第1​​1天:自定义模板过滤

​【Django教程】第10天:模板语​

​【Django教程】第09天:验证码​

​【Django教程】第08天:会话机制Cookie&Sessio​

​【Django教程】第07天:上传/显示图​

​【Django教程】第06天:HttpRequest对象​

​【Django教程】第05天:ORM模型操作汇​

​【Django教程】第04天:前后端分离开发​

​【Django教程】第03天:导出Excel报表​

​【Django教程】第02天:深入模型​

​【Django教程】第01天:快速上手​


 

 

PS:公号内回复: Python.即可获取最新最全学习资源!

 


     

觉得内容不错的 欢迎点击「在看」支持

谢谢各位

 

我也希望这个世界会因为分享而更美好!

单纯分享,无任何利益相关!