【经验分享】工程开发与Coding规范
?
今天分享分為兩部分 :)
PART01?工程開發(fā)+代碼規(guī)范分享/
PART02 關(guān)于某易云自動(dòng)簽到聽歌分享-
? ?
?
5Mins? Dev+Coding Rule:
PART 1?
?
了解真實(shí)工程開發(fā)🏗.....
?
本篇內(nèi)容分享的宗旨:?學(xué)長(zhǎng)工作經(jīng)驗(yàn)之談僅作分享🏷
?
?
?
Ready,Go
?
?
?
?
代碼管理——工具篇
?
?工程上首先需要解決的大事就是代碼管理
?工欲善其事,必先利其器
?工具的演進(jìn):?VSS >?CVS >?SVN >GIT(+LFS)
?GIT常見指令
?
?
代碼管理——分支管理
?
1.確定開發(fā)計(jì)劃后,從穩(wěn)定分支(master)clone一個(gè)開發(fā)分支dev_{version}
2.由dev_leader在開發(fā)分支上建立初步基線代碼,以便整個(gè)開發(fā)團(tuán)隊(duì)進(jìn)行下一步的模塊開發(fā)
3.開發(fā)團(tuán)隊(duì)各特性負(fù)責(zé)人從開發(fā)分支拉出特性開發(fā)分支feature_{version}_{name}
4.特性開發(fā)完成后,開發(fā)者將特性分支合入開發(fā)分支。確定滿足條件的可合入release分支進(jìn)入提測(cè)環(huán)節(jié)
5.測(cè)試迭代期間,bug修復(fù)在release分支上進(jìn)行,并將代碼同步回開發(fā)分支
6.重復(fù)上述流程4與5,直到所有特性開發(fā)完成并測(cè)試
7.合入master并打tag
?
代碼管理——CodeReview
?
1.master作為工程項(xiàng)目穩(wěn)定主分支來維護(hù),對(duì)master的合入修改必須要經(jīng)過嚴(yán)格的CodeReview
2.對(duì)于gitlab項(xiàng)目,回收master分支修改權(quán)限,需要合并入master的代碼,可以依托于gitlab提供的Merge Request操作,提交merge request到指定的評(píng)審人;
3.對(duì)于gerrit項(xiàng)目,保持所有master分支與release分支的修改評(píng)審環(huán)節(jié),刪除其它dev分支與feature分支的評(píng)審流程;
4.代碼提交者與評(píng)審人不能是同一人,必須交插安排。原則上,評(píng)審人應(yīng)該是經(jīng)驗(yàn)豐富的工程人員,避免評(píng)審中的疏忽大意。如果某評(píng)審人連續(xù)兩次因?yàn)樵u(píng)審失誤導(dǎo)致把關(guān)不嚴(yán)問題,短時(shí)間內(nèi)不得再安排評(píng)審任務(wù)。
5.評(píng)審人以2-3人為佳,評(píng)審過程保持與提交人溝通順暢,確保代碼理解一致。
🔊以上內(nèi)容重要的是實(shí)操
?
代碼管理——靜態(tài)掃描
Lint工具
?
設(shè)計(jì)——架構(gòu)
話題太大,無從入手
總結(jié)了一下目前公司SDK類的研發(fā)框架
????? sdk依賴 + 基礎(chǔ)處理庫(kù) + 業(yè)務(wù)實(shí)現(xiàn) + API封裝 + [模型配置定制化] +[多平臺(tái)編譯]
推薦在線設(shè)計(jì)工具:processon.com
?
設(shè)計(jì)——API接口設(shè)計(jì)原則
?接口三要素:數(shù)據(jù)結(jié)構(gòu),錯(cuò)誤碼,接口定義
?原則一:接口定義少用STL標(biāo)準(zhǔn)模板庫(kù),多采用基本類型
?原則二:接口參數(shù)控制到5個(gè)以內(nèi)
?原則三:對(duì)輸入類自定義結(jié)構(gòu)型參數(shù),多以const指針引用為好
?原則四:命名準(zhǔn)確,注釋清晰無歧義,尤其對(duì)返回值或錯(cuò)誤碼要重點(diǎn)說明
?原則五:盡量減少接口函數(shù)數(shù)量以降低模塊間的耦合
?原則六:接口中涉及的自定義數(shù)據(jù)結(jié)構(gòu),最好采用定長(zhǎng)類型(char, short, int, int8/16/32/64, float, double)
?
編碼——CodingRule
C++Code Style (google)參考
?
后臺(tái)回復(fù)【操作系統(tǒng)】獲取上期pdf分享
🔊
看到這里,學(xué)長(zhǎng)最后再分享一個(gè)好消息,就是恭喜學(xué)長(zhǎng),終于收到了百度的offer,入職Baidu的時(shí)間定在了下月,其實(shí)提出離職的時(shí)候,Leader我們的架構(gòu)瘋狂挽留我,還說要漲很多很多錢,我似乎快動(dòng)搖了,但是離職這種東西,說了就說了,覆水難收,至于原因,大家以后就會(huì)懂的。而且我認(rèn)為,一匹得到伯樂的野馬,哪里都會(huì)是我馳騁的廣闊草原🐎
?
其實(shí)我很懷念這些共事的朋友,印象中同事們對(duì)我評(píng)價(jià)最深的一句話,是位生過二胎的姐姐開會(huì)時(shí)候說過一句'我覺得劉旺同學(xué)靠得住',正是這句話仿佛烙印在了我的心上,一直讓我待人以最真誠(chéng),處事以原則。雖有不舍,但還未入職的我正滿懷熱忱,也同時(shí)萬分期待著我的新鮮血液融入集體,和新的小伙伴共同前行。
?
最后,希望在百度的我可以做的更好,不辜負(fù)幾位面試官的賞識(shí),更不負(fù)自己那一份野心,也一樣做真實(shí)的自我🙆?♂?
?
?
? ?
?
好了,先到這里了,如果大家在實(shí)踐中有什么問題,可以給我留言,Bye~
?
-以上簡(jiǎn)單描述希望對(duì)你有所幫助。共勉-
以下為之前分享的寶藏內(nèi)容
希望學(xué)長(zhǎng)分享的內(nèi)容對(duì)你我都有幫助💪
Pandas系列文章
?
django系列文章
-
【Django教程】第15天:ORM性能優(yōu)化和提升
-
【Django教程】第14天:debugtoolbar開發(fā)工具
-
【Django教程】第13天:Email-郵件發(fā)送
-
【Django教程】第12天:后臺(tái)管理-admin
-
【Django教程】第11天:自定義模板過濾
-
【Django教程】第10天:模板語
-
【Django教程】第09天:驗(yàn)證碼
-
【Django教程】第08天:會(huì)話機(jī)制Cookie&Sessio
-
【Django教程】第07天:上傳/顯示圖
-
【Django教程】第06天:HttpRequest對(duì)象
-
【Django教程】第05天:ORM模型操作匯
-
【Django教程】第04天:前后端分離開發(fā)
-
【Django教程】第03天:導(dǎo)出Excel報(bào)表
-
【Django教程】第02天:深入模型
-
【Django教程】第01天:快速上手
?
?
PS:公號(hào)內(nèi)回復(fù):?Python.即可獲取最新最全學(xué)習(xí)資源!
?
覺得內(nèi)容不錯(cuò)的 歡迎點(diǎn)擊「在看」支持
謝謝各位
?
我也希望這個(gè)世界會(huì)因?yàn)榉窒矶篮?#xff01;
單純分享,無任何利益相關(guān)!
總結(jié)
以上是生活随笔為你收集整理的【经验分享】工程开发与Coding规范的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 插件 微信 自动 抢红包
- 下一篇: python入门学习—集合(FishC)