CODING:小白都會用的代碼協(xié)作工具

前言

今天我們要體驗(yàn)的產(chǎn)品不是一款 Mac 軟件,也不是 app,而是一個企業(yè)級的一站式軟件研發(fā)協(xié)作平臺 CODING。

經(jīng)常來我站的朋友有很多從事軟件開發(fā)、UI/UX 設(shè)計(jì)、產(chǎn)品設(shè)計(jì)等職業(yè)的,大家在各自的領(lǐng)域都會用到垂直領(lǐng)域內(nèi)的協(xié)同工具,這里就不再贅述有哪些代表者,但這些工具也好,服務(wù)也好,就好像一座座孤島,彼此之間的溝通協(xié)作并不能成為一個整體,對于出具規(guī)模的研發(fā)團(tuán)隊(duì)來說,如果提高團(tuán)隊(duì)的工作效率,協(xié)同溝通效率顯然已成為當(dāng)今互聯(lián)網(wǎng)產(chǎn)品大生產(chǎn)場景下的剛性需求。

痛點(diǎn)

早年間我曾在一家專為企業(yè)級路由器系統(tǒng)研發(fā)公司擔(dān)任測試工程師,當(dāng)時還沒有像 CODING 這樣覆蓋“產(chǎn)品→開發(fā)→測試”三大環(huán)節(jié)的研發(fā)管理系統(tǒng),三個部門的人各自為營,溝通方式基本靠開會,研發(fā)組寫完的代碼灌入設(shè)備后給測試組,測試用例完全靠人肉文檔,一遍又一遍,反饋給研發(fā)后,那邊又不重視我們的報告,漏洞百出得不到有效記錄,又被產(chǎn)品經(jīng)理每天雪花般的新需求搞的想砍人;同時產(chǎn)品、研發(fā)、測試三方就需求設(shè)計(jì)、功能實(shí)現(xiàn)、產(chǎn)品可用性的探討,甚至可以說是爭執(zhí),已經(jīng)嚴(yán)重占用了大部分的生產(chǎn)時間,最后還是得加班完成各自的任務(wù)。我一直在想,當(dāng)時要是有 CODING 這樣的平臺就好了,嚴(yán)謹(jǐn)而科學(xué)的版本控制、代碼質(zhì)量管理、清晰的任務(wù)需求管理都可以幫助大家省去許多重復(fù)勞動和時間成本、健康成本。

[maxbutton id=”106″ ]

CODING 是什么?

使用 CODING 除了能克服上述問題,還能幫助一個研發(fā)團(tuán)隊(duì)從分支管理到代碼評審,從任務(wù)分派到里程碑制定,再到文件系統(tǒng)和 Wiki 沉淀等諸多方面,諸多細(xì)節(jié)去幫助開發(fā)者更加高效地協(xié)作。

CODING 企業(yè)版(后面簡稱 CODING)是面向開發(fā)團(tuán)隊(duì)的WEB軟件研發(fā)管理系統(tǒng),整個團(tuán)隊(duì)成員可以在里面進(jìn)行代碼管理(重中之重)、需求管理、持續(xù)集成、測試管理、缺陷管理、任務(wù)分配等功能,適用于傳統(tǒng)模式和敏捷模式的軟件研發(fā)項(xiàng)目和產(chǎn)品運(yùn)營,是一款真正意義上的 DevOps 全流程應(yīng)用。

[maxbutton id=”106″ ]

下面我們就來一一介紹 CODING 包含的各項(xiàng)核心功能,在正文展開前,大家先看一下 CODING 后臺管理界面左側(cè)的工具欄,一共 14 個項(xiàng)目,其中最核心的服務(wù)放在了中間,這么多的功能當(dāng)然是面向不同工種的同事了,下面來看看這個 list:

各項(xiàng)目針對的使用人群及聯(lián)系

  • 項(xiàng)目 leader 負(fù)責(zé)在迭代、工作管理、任務(wù)管理等模塊負(fù)責(zé)整個項(xiàng)目的進(jìn)度、數(shù)據(jù)分析等工作;
  • 產(chǎn)品經(jīng)理負(fù)責(zé)在 Wiki、需求管理、文件系統(tǒng)中提供明確的產(chǎn)品需求;
  • 研發(fā)工程師負(fù)責(zé)在代碼倉庫生產(chǎn)、維護(hù)代碼,進(jìn)行持續(xù)集成、環(huán)境部署等工作;
  • 測試工程師負(fù)責(zé)在缺陷管理、測試管理中修 bug;
  • 設(shè)計(jì)師負(fù)責(zé)在文件里上傳設(shè)計(jì)文件。

當(dāng)然,這里面有些項(xiàng)目不是專屬于哪類人群,有些是大家共同進(jìn)行協(xié)作溝通的地方,比如任務(wù)看板、Wiki、文件系統(tǒng)、工作管理等等。

產(chǎn)品經(jīng)理在 CODING 里能做什么:

我們知道,作為產(chǎn)品經(jīng)理,他的日常任務(wù)就是搜集用戶需求、編寫產(chǎn)品功能書,設(shè)計(jì)產(chǎn)品原型,并在用戶反饋、UI/UX 設(shè)計(jì)、功能研發(fā)三個陣地來回穿梭,協(xié)調(diào),最后給用戶呈現(xiàn)一個令其滿意的產(chǎn)品。CODING 里涉及到產(chǎn)品經(jīng)理用的較多的應(yīng)該是 Wiki、需求管理、任務(wù)看板。

CODING 支持將其他平臺的項(xiàng)目直接導(dǎo)入其中使用

Wiki

不得不說 CODING 的 WEB 界面做的簡潔而不失高效,Wiki 好似 Typora 的 Markdown 編輯界面,事實(shí)上這里也是支持 MD 語言編寫文檔的,產(chǎn)品經(jīng)理可以在這里為工程師、設(shè)計(jì)師提供盡可能完善的產(chǎn)品交互原型、產(chǎn)品解析文檔等等。

需求管理

需求管理客觀講不光適用于產(chǎn)品經(jīng)理,工程師的技術(shù)需求、其他部門人員的運(yùn)營需求都可以提出來,然后由 leader 將此需求分配給對應(yīng)負(fù)責(zé)人,這里就涉及到創(chuàng)建工作或關(guān)聯(lián)工作了。

看下圖,舉例,產(chǎn)品經(jīng)理根據(jù)用戶使用情況記錄并新建了一個需求,這個需求默認(rèn)狀態(tài)是“未激活”,而 leader 看到需求后邀請研發(fā)、設(shè)計(jì)的同事進(jìn)來關(guān)注,經(jīng)過討論溝通,認(rèn)為可以執(zhí)行添加此需求,則 leader 可以將需求狀態(tài)改為“已計(jì)劃”,設(shè)計(jì)側(cè)的同事接手開始干后標(biāo)記為“設(shè)計(jì)中”、然后交付給研發(fā)同事,狀態(tài)標(biāo)記為“研發(fā)中”,以此類推,直到需求被實(shí)現(xiàn)標(biāo)記為“已關(guān)閉”,在這個過程中,團(tuán)隊(duì)成員可以隨時看到需求實(shí)現(xiàn)狀態(tài),看到活動日志以及關(guān)聯(lián)的各種附件、里程碑、任務(wù)、合并請求。

研發(fā)工程師的好伙伴:Git 代碼管理

CODING 的核心服務(wù)對象是研發(fā)工程師,關(guān)于對代碼庫的維護(hù)能力當(dāng)然是 CODING 最關(guān)注的地方,Git 也是這套系統(tǒng)里的重中之重,代碼的瀏覽、分支管理、發(fā)布管理、版本對比、合并請求當(dāng)然都不在話下。

在介紹代碼管理的幾個子功能前還是跟大家科普一下 Git 這套分布式代碼管理系統(tǒng)的基本原理。

傳統(tǒng)的代碼管理都是點(diǎn)對點(diǎn)的同步部署,也就是你和你的同事在各自的本地機(jī)器編譯完傳輸(或者也叫同步吧)到遠(yuǎn)程服務(wù)器或者直接發(fā)給架構(gòu)師/leader,然后由架構(gòu)師/leader將你們的代碼揉在一起,但這個過程很容易出問題,而 Git 則是由主開發(fā)者將代碼上傳到服務(wù)器后,其他開發(fā)者可以從服務(wù)器get到完整的代碼然后根據(jù)任務(wù)開發(fā)功能后創(chuàng)建為一個分支版本,并從自己本地機(jī)器測試后將生成的代碼推送回服務(wù)器。在這個過程中,主開發(fā)者可以發(fā)起代碼評審、處理代碼合并請求、有效控制產(chǎn)品版本,各個分支版本之間的代碼沖突也可以獲得有效避免。

代碼瀏覽

代碼瀏覽是最基礎(chǔ)的功能模塊,包括默認(rèn)分支 master 在內(nèi)的所有分支版本,主開發(fā)者(leader)都可以在這里看到,當(dāng)然也可以操作代碼的瀏覽、新建、上傳、下載;代碼支持在線編輯、路徑復(fù)制、按行查看等功能。

我們可以通過左上角的隱藏菜單切換到各個分支版本進(jìn)行代碼預(yù)覽。

分支管理

接下來是分支管理,一個代碼倉庫建立后會自動生成一個默認(rèn)分支 master,但一般情況都不會在這上面進(jìn)行代碼修改,就像前文我們提到的,團(tuán)隊(duì)成員會按照 leader 分解的任務(wù)去實(shí)現(xiàn)對應(yīng)的功能模塊,而這個模塊都會有自己的分支版本,這樣各個功能在合并前都會自行演進(jìn),互不干擾。

在你的代碼完成后可以進(jìn)行推送到服務(wù)器上,發(fā)起合并請求

合并請求

Leader 可以在接到你的合并請求時,可以在對應(yīng)界面添加代碼評審者,標(biāo)簽、關(guān)注者,這些人會是架構(gòu)師、測試工程師、產(chǎn)品經(jīng)理。

同時你可以在合并請求里看到代碼的改動具體情況,代碼變動部分會用綠色背景標(biāo)注。你可以關(guān)聯(lián)里程碑、任務(wù)、合并請求等,或者最底部留言輸入評論內(nèi)容,比如“小李這功能做得好,這代碼不錯等等等…”

在創(chuàng)建合并請求時你會遇到“版本對比”,在“版本對比”界面選擇或輸入兩個不同的分支、標(biāo)簽、修訂版本號進(jìn)行對比,查看差異;版本對比可對代碼進(jìn)行審查與評論,系統(tǒng)會檢測比較版本能否自動合并。

發(fā)布管理

當(dāng)完成一個里程碑的所有任務(wù)開發(fā)之后,你就可以在某個節(jié)點(diǎn)將此時的默認(rèn)分支標(biāo)記為一個版本,并發(fā)布這個版本。

除了上傳代碼,你需要詳細(xì)的記錄每個版本的“更新日期”、“改動說明”、“版本對比”、“版本規(guī)劃”等內(nèi)容,CODING 支持預(yù)發(fā)布版本標(biāo)記。

關(guān)于持續(xù)集成

持續(xù)集成的概念誕生自 1991 年,就像我開頭提到的傳統(tǒng)協(xié)作方式遇到的諸多弊端,持續(xù)集成的推出就是為了解決開發(fā)團(tuán)隊(duì)每天大量的重復(fù)性編譯、測試工作,提高交付效率,在枯燥的電腦前,人類創(chuàng)造了像 Jenkins 這樣的自動化集成系統(tǒng),它可以幫助人類完成每次版本誕生前枯燥的編譯、部署、自動化測試工作,讓工程師們專注于開發(fā)。

CODING項(xiàng)目可直接集成到騰訊云平臺上,同時支持多種運(yùn)行環(huán)境

在創(chuàng)建持續(xù)集成時你需要“代碼更新觸發(fā)”還是“手動觸發(fā)”,選擇推送到某個指定分支時觸發(fā),以及用常規(guī)模式or云服務(wù)器模式進(jìn)行集成的執(zhí)行,云服務(wù)模式就是允許用戶可以將執(zhí)行環(huán)境部署到云端服務(wù)器,并且自行創(chuàng)建容器來執(zhí)行集成的構(gòu)建。

CODING 的持續(xù)集成是完全基于 Jenkins 的,兼容 Jenkinsfile 配置文件。

項(xiàng)目 leader 統(tǒng)籌規(guī)劃靠這些功能

除了工程師、產(chǎn)品經(jīng)理會頻繁用到代碼維護(hù)、Wiki、文件系統(tǒng)外,項(xiàng)目 leader 也可以使用 CODING 里的任務(wù)系統(tǒng)和工作管理兩個模塊。

任務(wù)系統(tǒng)

在任務(wù)系統(tǒng)里核心當(dāng)然是“里程碑”了,這個開發(fā)人員都很熟悉,CODING 支持在列表與甘特圖之間隨時切換查看里程碑,在里程碑詳情頁面你可以清晰的看到整個計(jì)劃的完成度、是否超時,每項(xiàng)任務(wù)的完成情況,完成進(jìn)度,持續(xù)天數(shù)。

如果一個里程碑已經(jīng) reach,那么 leader 就可以選擇對應(yīng)版本創(chuàng)建版本發(fā)布,總之一句話,在 CODING 中你會發(fā)現(xiàn)設(shè)計(jì)者會將各個模塊盡可能的耦合在一起,盡最大努力方便使用者提高工作效率與協(xié)調(diào)效率。

工作管理

看到工作管理這個模塊,多少有些讓人有些迷惑,不是有任務(wù)系統(tǒng)了嗎?怎么還有一個工作管理,我想這個模塊純粹是為 leader 們設(shè)計(jì)的吧,工作管理中的事務(wù)是獨(dú)立于項(xiàng)目本身的,leader 們可以在里面分配一些時效性強(qiáng)、需要臨時突擊解決的問題,在里面可以關(guān)聯(lián)產(chǎn)品經(jīng)理發(fā)布的“需求”,或是關(guān)聯(lián)項(xiàng)目資源(里程碑、任務(wù)、合并請求)。

寫在最后

總的來說,CODING 是一個面向開發(fā)者的云端開發(fā)平臺,提供 Git/SVN 代碼托管、任務(wù)管理、在線 WebIDE、Cloud Studio、開發(fā)協(xié)作、文件管理、Wiki 管理、提供個人服務(wù)及企業(yè)服務(wù),其中實(shí)現(xiàn)了 DevOps 流程全自動化,為企業(yè)提供軟件研發(fā)全流程管理工具,打通了從團(tuán)隊(duì)構(gòu)建、產(chǎn)品策劃、開發(fā)測試到部署上線的全過程?!窩ODING 持續(xù)集成」集成了 Jenkins 等主流企業(yè)開發(fā)流程工具。

CODING 面向 5 人(含 5 人)以下團(tuán)隊(duì)提供免費(fèi)試用,團(tuán)隊(duì)可以享有所有功能,并且不限項(xiàng)目和倉庫數(shù)量,開箱即用,無需部署,而且他家還實(shí)行靈活的按人天扣費(fèi),也就是每人每天 1 元錢,涵蓋 DevOps 全部所需,比如你的團(tuán)隊(duì)有 10 個人,那么每天的費(fèi)用也僅為 10 元,如果是按年計(jì)費(fèi)則是 3650 元,非常簡單對不對。另外 CODING 還為企業(yè)提供私有化方案,你可以將 CODING 部署在公司自己的服務(wù)器上,在保障公司隱私的同時享受更多的定制化服務(wù)。

[maxbutton id=”106″ ]

評論