日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何提升各开发角色效率,既保证产品质量又能快速上线?

發(fā)布時(shí)間:2025/3/8 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何提升各开发角色效率,既保证产品质量又能快速上线? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

網(wǎng)易杭州研究院 · 葉鋒

當(dāng)一個(gè)產(chǎn)品或項(xiàng)目變得比較大的時(shí)候,開發(fā)效率就會(huì)提上議程。如果項(xiàng)目管理混亂或者某個(gè)環(huán)節(jié)脫節(jié),往往會(huì)讓項(xiàng)目進(jìn)展緩慢,走彎路,甚至失敗。

一個(gè)大的產(chǎn)品開發(fā)往往包含了項(xiàng)目經(jīng)理,產(chǎn)品經(jīng)理,架構(gòu)師,開發(fā)工程師,測(cè)試,前端等多種角色。如何提升各個(gè)角色的效率,讓產(chǎn)品在保證質(zhì)量的基礎(chǔ)上,快速上線,很值得研究。本文根據(jù)哨兵系統(tǒng)中開發(fā)的實(shí)際情況,做一些實(shí)際經(jīng)驗(yàn)總結(jié)。


1

產(chǎn)品先行,機(jī)動(dòng)提升

在產(chǎn)品立項(xiàng)之前的一個(gè)月或者更長(zhǎng),產(chǎn)品的規(guī)劃就應(yīng)該開始了,首先需要在目標(biāo)用戶中做充分的調(diào)研,形成產(chǎn)品規(guī)劃的初稿,然后帶著初稿與用戶繼續(xù)溝通提煉,形成最終的可行方案。在項(xiàng)目組的內(nèi)部也需要充分討論,通過討論相互理解需求,也可以發(fā)現(xiàn)產(chǎn)品中存在的問題和不足,利于下一步工作開展。

即使在項(xiàng)目進(jìn)行中,如果發(fā)現(xiàn)原先方案沒有很好地滿足用戶需求,那么不要猶豫,及時(shí)做出調(diào)整,甚至可以考慮對(duì)項(xiàng)目進(jìn)行大的重構(gòu)。因?yàn)槿绻麨榱搜谏w一些設(shè)計(jì)上的缺陷而做一些特殊適配,往往坑會(huì)越埋越大,到時(shí)更改的成本會(huì)更高。行動(dòng)的迅速性和機(jī)動(dòng)性,對(duì)于項(xiàng)目至關(guān)重要。

2

開發(fā)高效,多維提升

當(dāng)項(xiàng)目進(jìn)入技術(shù)的設(shè)計(jì)開發(fā)階段,合理的規(guī)劃對(duì)于效率的提升十分重要。結(jié)合哨兵的開發(fā)的實(shí)際過程,這里提出一些看法。

1. 開發(fā)人員帶著自己思路設(shè)計(jì)

在這個(gè)環(huán)節(jié),所有的開發(fā)人員都需要參與,通過對(duì)需求和功能的理解,開發(fā)人員可以構(gòu)思自己的技術(shù)方案,然后跟大家一起討論,最后總結(jié)出合理的可執(zhí)行的方案。每個(gè)開發(fā)人員都是設(shè)計(jì)者。

2. ?開發(fā)、測(cè)試、預(yù)發(fā)環(huán)境搭建

項(xiàng)目進(jìn)入開發(fā)階段,需要搭建和組織高效的開發(fā)環(huán)境。首先選用業(yè)界流行的maven工具管理代碼,將代碼工程模塊化。一般將工程分為common?模塊,業(yè)務(wù)邏輯模塊,具體應(yīng)用模塊等等。common模塊封裝總體依賴,內(nèi)部通信框架,驗(yàn)證規(guī)則,通用數(shù)據(jù)結(jié)構(gòu),通用util類等。業(yè)務(wù)邏輯方面,可以將關(guān)系數(shù)據(jù)或者其他中間件的操作獨(dú)立模塊,每個(gè)模塊獨(dú)立于應(yīng)用,建立有自己的獨(dú)立的單元測(cè)試,提升業(yè)務(wù)層與應(yīng)用層的耦合效率。具體應(yīng)用模塊,采用合適的開發(fā)插件來提升效率。比如我們應(yīng)用模塊以web應(yīng)用為主,采用jetty插件,它具有輕量,內(nèi)置,高效的特點(diǎn)。可以在一個(gè)eclipse容器里面啟動(dòng)多個(gè)實(shí)例,并發(fā)調(diào)試。工程模塊之間建立運(yùn)行時(shí)依賴的關(guān)聯(lián)關(guān)系,如果一個(gè)模塊改動(dòng),比如業(yè)務(wù)層,無需build這個(gè)模塊,減少調(diào)試時(shí)間。

在項(xiàng)目開發(fā)完成后,合理規(guī)劃測(cè)試環(huán)境,上線之前規(guī)劃預(yù)發(fā)環(huán)境。項(xiàng)目復(fù)雜度不一樣,環(huán)境規(guī)劃復(fù)雜度不一樣,但是都值得多投入規(guī)劃。

3. 代碼層次化,可擴(kuò)充的設(shè)計(jì)理念

將代碼分為多個(gè)模塊,比如dao層,service層,權(quán)限驗(yàn)證層,controller層,視圖層等等。同時(shí)將一些通用的處理方式集成在統(tǒng)一的基礎(chǔ)模塊之中,比如我們的api應(yīng)用,組件異常處理,api監(jiān)控等功能集成在入口filter組件,這樣有利于功能開發(fā)人員專注業(yè)務(wù)邏輯的處理,提升效率。

在系統(tǒng)設(shè)計(jì)的時(shí)候要考慮未來的可擴(kuò)充性。比如哨兵系統(tǒng)中的設(shè)備類型前期主要以服務(wù)器為主,后期可能會(huì)引入網(wǎng)絡(luò)設(shè)備等多種。那么前期表的設(shè)計(jì)就可以采用面向?qū)ο筇匦缘姆绞絹韺?shí)現(xiàn),公有部分放在基礎(chǔ)表當(dāng)中,擴(kuò)展屬性放在各自獨(dú)立表當(dāng)中。當(dāng)增加新的類型時(shí)只需要建立新類型獨(dú)立表就可以了。

4. 盡量用成熟技術(shù)框架

在技術(shù)方案的選取上,盡量采用業(yè)界比較成熟的,并且支持性比較好的方案。這樣出現(xiàn)問題的時(shí)候,可以在互聯(lián)網(wǎng)上找到一些解決方案。當(dāng)然在功能受到限制必須選取一些不常用方案的時(shí)候,需要提早進(jìn)行調(diào)研,并且盡早進(jìn)行性能方面的壓力測(cè)試,防止在項(xiàng)目真正上線的時(shí)候出現(xiàn)問題。比如我們項(xiàng)目中引入aviator作為表達(dá)式的求值引擎,在實(shí)際使用的過程中,由于緩存配置不合理,在上線的時(shí)候才發(fā)現(xiàn),方法區(qū)每過一段時(shí)間會(huì)滿,造成full gc。調(diào)整參數(shù)后,問題解決。

5. 良好的版本管理方式

在產(chǎn)品開發(fā)初期,由于還沒有上線或者使用人少,功能迭代少,團(tuán)隊(duì)采用一個(gè)統(tǒng)一的開發(fā)分支,這樣效率會(huì)提升。隨著項(xiàng)目正式上線,用戶逐漸增加,功能迭代也會(huì)慢慢增加,這樣采用多個(gè)分支并發(fā)進(jìn)行比較合適。在多分支開發(fā)的時(shí)候需要注意需要一次發(fā)布的功能在相同的分支內(nèi)進(jìn)行,要發(fā)布之前進(jìn)行分支的合并,沖突解決。良好的分支管理方式會(huì)讓項(xiàng)目快速迭代,減少錯(cuò)誤的發(fā)生。

6. 及時(shí)有效溝通,及時(shí)代碼重構(gòu)

在項(xiàng)目的進(jìn)行中,由于各個(gè)開發(fā)人員的風(fēng)格不統(tǒng)一,導(dǎo)致代碼跟規(guī)范不一致,同時(shí)編碼中一些特殊邏輯處理的不夠優(yōu)雅,很想進(jìn)行重構(gòu),但是又怕影響進(jìn)度。這種情況通常建議及時(shí)進(jìn)行,雖然開始的時(shí)候效率下降,但是長(zhǎng)遠(yuǎn)來講可以大大提升效率,并且可以讓后續(xù)的開發(fā)人員快速理解業(yè)務(wù),也不會(huì)被誤導(dǎo)使用不合理的模式。重構(gòu)需要團(tuán)隊(duì)內(nèi)部進(jìn)行及時(shí)有效溝通,形成規(guī)范,并且如果重構(gòu)對(duì)開發(fā)進(jìn)度造成影響,重構(gòu)負(fù)責(zé)人應(yīng)該考慮加班,這對(duì)于長(zhǎng)遠(yuǎn)效率的提升十分重要。

7. 適當(dāng)功能上的放棄,留下接口利于下一步提升

當(dāng)項(xiàng)目上線比較緊張的時(shí)候,對(duì)于技術(shù)方案又沒有明確定論,或者完美方案需要耗費(fèi)太多資源的時(shí)候,可以暴露統(tǒng)一接口,實(shí)現(xiàn)上采用臨時(shí)方案進(jìn)行。比如哨兵配置下發(fā),前期采用定時(shí)器方式進(jìn)行,雖然對(duì)系統(tǒng)資源消耗多,有延時(shí),但是簡(jiǎn)單實(shí)現(xiàn)方式快,適合初期趕進(jìn)度,后期等項(xiàng)目緩解后再用新的實(shí)時(shí)下發(fā)方案。

3

管理跟進(jìn),多方提升

1. PM

項(xiàng)目管理中,項(xiàng)目經(jīng)理PM,要定時(shí)跟蹤項(xiàng)目的進(jìn)展情況,找出系統(tǒng)瓶頸,協(xié)調(diào)與其他團(tuán)隊(duì)或者項(xiàng)目的關(guān)系,爭(zhēng)取到必要的資源。PM要協(xié)調(diào)的目標(biāo)方有開發(fā)、測(cè)試、產(chǎn)品經(jīng)理、運(yùn)維、部門負(fù)責(zé)人以及外部資源等,協(xié)調(diào)方式包括定期發(fā)送項(xiàng)目進(jìn)度報(bào)告,定期召開相關(guān)方會(huì)議,與重點(diǎn)人員點(diǎn)對(duì)點(diǎn)溝通,取得他們的支持和配合。開發(fā)人員可以將一些協(xié)調(diào)的事情交給PM來解決,這樣就可以專注于開發(fā)。

2. 產(chǎn)品經(jīng)理,架構(gòu)師

產(chǎn)品經(jīng)理及時(shí)把握上線的執(zhí)行偏移,上線后做實(shí)際測(cè)試,有問題馬上向開發(fā)提出,確保線上產(chǎn)品的最后質(zhì)量。架構(gòu)師要及早對(duì)方案的可行性進(jìn)行驗(yàn)證,編寫示例代碼,形成規(guī)范。

3.?測(cè)試

測(cè)試人員先期就參與方案的評(píng)審,盡快了解需求和產(chǎn)品。測(cè)試人員不單純的是功能上的測(cè)試,對(duì)于技術(shù)架構(gòu)也參與討論,提出自己的意見,這樣更能發(fā)揮測(cè)試對(duì)于全局的總體質(zhì)量的把控,測(cè)試更深入。

效率的提升本質(zhì)上是人的提升。團(tuán)隊(duì)團(tuán)結(jié)一致,相互支持,遵循規(guī)范,這樣才具有機(jī)動(dòng)性和戰(zhàn)斗力。人才是效率之根本。

4

平臺(tái)集成,自動(dòng)提升

在產(chǎn)品開發(fā)的實(shí)際進(jìn)行中,自動(dòng)化和平臺(tái)化的引入,可以將我們的開發(fā)效率大大提升,這需要未來平臺(tái)建設(shè)的完善。

1. 發(fā)布工具來實(shí)現(xiàn)代碼分支的自動(dòng)管理。用戶需要分支的時(shí)候可以根據(jù)平臺(tái)自動(dòng)創(chuàng)建分支,在測(cè)試的時(shí)候可以直接利用分支集成測(cè)試,支持多個(gè)分支并行的測(cè)試。在發(fā)布的時(shí)候工具自動(dòng)進(jìn)行沖突檢測(cè),代碼合并,tag創(chuàng)建等。這樣可以大大降低由于人工誤操作導(dǎo)致的效率降低。

2. 配置管理工具。開發(fā),測(cè)試,預(yù)發(fā),線上環(huán)境的配置需要一個(gè)集中的管理平臺(tái),防止配置變更導(dǎo)致的錯(cuò)誤。

3. 代碼review?工具的完善。有助于開發(fā)人員相互review代碼,找出錯(cuò)誤,形成規(guī)范,比如可以采用開源的Gerrit等。

?· END ·

【推薦閱讀】

后端Java工程師如何將編碼速度提升10倍?

一場(chǎng)開發(fā)與視覺的對(duì)話引發(fā)的思考

項(xiàng)望烽:移動(dòng)IM開發(fā)那些事兒

網(wǎng)易云信|APP聊天功能1天開發(fā)

http://netease.im ? 果斷關(guān)注,精彩不斷

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的如何提升各开发角色效率,既保证产品质量又能快速上线?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。