摘要:開發(fā)負責人創(chuàng)建分支,編寫單元測試腳本,編寫代碼,實現(xiàn)提案中的所有內(nèi)容,最終發(fā)起交叉評審,檢查代碼,提出改進意見,反饋給開發(fā)負責人,繼續(xù)完善細節(jié)。
Swoole開源項目從2012年開始發(fā)布第一個版本,到現(xiàn)在已經(jīng)有近7年的歷史。在這七年的時間里:
提交了8821次代碼變更
發(fā)布了287個版本
收到并解決1161次issue反饋
合并了603次pull request
共有100位開發(fā)者貢獻代碼
在GitHub收獲了11940顆星
協(xié)程2018年我們推出了全新的Swoole4版本,在此之前Swoole主要的編程方式還是同步阻塞模式或異步回調(diào)。新的基于協(xié)程實現(xiàn)的CSP編程逐漸成為我們唯一推薦使用的編程模式。協(xié)程將紛繁復(fù)雜異步編程大大簡化。使用Swoole4協(xié)程,既簡單又強大。在未來的Swoole5版本,我們計劃刪除非協(xié)程的相關(guān)特性和代碼,減少歷史包袱,提升穩(wěn)定性,降低復(fù)雜度,減少不必要的選項,純粹協(xié)程化。
過去6年我們的團隊主要以兼職開發(fā)為主,團隊成員大多來自于騰訊、阿里、滴滴、百度、360、小米等國內(nèi)一線互聯(lián)網(wǎng)企業(yè),還有一部分是國外的PHP開發(fā)者,甚至PHP語言ZendVM內(nèi)核作者Dmitry Stogov也曾向Swoole貢獻了代碼。除此之外,我們還招募了一些在校大學(xué)生為Swoole編寫代碼,逐步培養(yǎng)年輕一代開發(fā)者。
在2018年7月份我們組建了全職開發(fā)團隊,專注于Swoole內(nèi)核以及Swoole Cloud云原生組件和生態(tài)鏈的開發(fā)。告別過去的草莽班子,轉(zhuǎn)變?yōu)閷I(yè)化的開源技術(shù)研發(fā)團隊。
我們的目標是讓Swoole項目成為Node.js、Go這樣的工業(yè)級技術(shù),成為PHP編程語言的在異步IO和網(wǎng)絡(luò)通信方面的基石。
研發(fā)管理成立全職研發(fā)團隊后,我們逐漸建立了非常完善的研發(fā)管理體系,提升Swoole的軟件質(zhì)量。主要包括以下幾個方面:
測試驅(qū)動(TDD)現(xiàn)在我們投入大量精力實現(xiàn)單元測試腳本、壓測腳本、自動化測試,提升單元測試覆蓋率。目前已有680項測試用例,17項壓測項目,在Travis-CI平臺可以看到每一次Commit和Pull Request的編譯、測試結(jié)果。
研發(fā)工作也基于TDD進行,在開發(fā)新特性、重構(gòu)、Bug Fix時,會先編寫對應(yīng)的單元測試腳本,測試覆蓋到代碼變更的所有場景。
代碼審查(Code Review)團隊成員之間進行代碼交叉審查、互相Code Review,對于代碼變更的細節(jié)進行充分的評估和討論。
重大變更,會進行團隊Review,花費數(shù)小時甚至數(shù)天討論每一行代碼變更細節(jié)。
RFC 機制對于非Bug Fix、非性能提升、非重構(gòu),新特性或有可能改變底層行為的變更,我們會分為4個步驟進行。
發(fā)起RFC的提案,https://github.com/swoole/rfc...,提案內(nèi)容會詳細闡述此項變更的前因后果、相關(guān)配置項、影響的范圍、使用方法、示例。
提案討論,我們會對提案進行充分的討論,刨根問底,分析優(yōu)劣,推敲細節(jié)。所有問題均討論清楚后,最終立項,開始實現(xiàn)。
開發(fā)負責人創(chuàng)建git分支,編寫單元測試腳本,編寫代碼,實現(xiàn)提案中的所有內(nèi)容,最終發(fā)起Pull Request
交叉評審,檢查代碼,提出改進意見,反饋給開發(fā)負責人,繼續(xù)完善細節(jié)。最終合并到主干。
整個過程均是在GitHub平臺公開進行的,對Swoole項目感興趣的PHPer均可參與。
灰度測試為了保證正式版本的穩(wěn)定性,我們在發(fā)布前會在內(nèi)部項目上進行灰度測試,檢驗新版本的穩(wěn)定性。
另外我們與大部分Swoole框架作者建立了聯(lián)系,新版本會先發(fā)給各大框架的作者提前試用。有重大底層變更、或不兼容項會提前與其他Swoole之上的開源項目作者進行溝通。
總結(jié)在過去的幾年,Swoole項目做的并不是很專業(yè),存在較多BUG和難用的地方,也讓很多使用者踩到了不少坑。最近半年成立全職研發(fā)團隊后,我們在研發(fā)管理方面進步飛快,Swoole的穩(wěn)定性、成熟度方面已今非昔比。穩(wěn)定性始終是第一位的,我們在未來將會更加謹慎、嚴謹,保證質(zhì)量。
重構(gòu)2018年下半年我們對底層的代碼進行了多次重構(gòu),在代碼結(jié)構(gòu)、可讀性、復(fù)用性、封裝度方面進行了很多優(yōu)化。使得Swoole軟件更為簡潔、優(yōu)雅。
編程語言方面,我們現(xiàn)在逐漸使用C++替代C語言。C++提供的面向?qū)ο蟆⒅悄苤羔槨⑷萜鳌⒛0宓忍匦阅軌驇椭覀冞M一步提升團隊的開發(fā)效率。
在此也歡迎各位PHPer參與Swoole項目,貢獻代碼。
文檔Swoole的文檔也是廣為開發(fā)者詬病的一個方面。在2018年我們團隊在文檔方面逐漸加大投入。重新編寫梳理文檔,加入豐富的例子程序,加入更詳細的配圖,修復(fù)細節(jié)問題,刪除帶有感情色彩的語句,更加客觀中立嚴謹。
2019 未來新的一年我們主要有3個方向上發(fā)力。
做減法刪除非協(xié)程的特性,刪除不必要的模塊,減少歷史包袱,提升穩(wěn)定性、降低復(fù)雜度,減少不必要的選項,化繁為簡,更簡單。
Swoole內(nèi)核層面仍然會繼續(xù)不斷重構(gòu)、精簡,減少代碼行數(shù),清理冗余代碼,盡可能地實現(xiàn)代碼復(fù)用。
深入項目在2018年底,我們已經(jīng)開始逐漸與在生產(chǎn)環(huán)境上大量使用Swoole的企業(yè)建立聯(lián)系,包括騰訊云、閱文、好未來、陌陌、優(yōu)信等企業(yè)。了解實際應(yīng)用場景、業(yè)務(wù)模式,進行深度交流合作,提供建議,幫助企業(yè)技術(shù)團隊更好的解決業(yè)務(wù)問題,接受反饋改進底層。
生態(tài)鏈2019年我們會基于Swoole4協(xié)程開發(fā)一些配套的工具和組件,彌補PHP在Cloud Native時代生態(tài)鏈方面的不足。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/29996.html
摘要:正如我標題所說,簡歷被拒。看了我簡歷之后說頭條競爭激烈,我背景不夠,點到為止。。三準備面試其實從三月份投遞簡歷開始準備面試到四月份收,也不過個月的時間,但這都是建立在我過去一年的積累啊。 本文是 無精瘋 同學(xué)投稿的面試經(jīng)歷 關(guān)注微信公眾號:進擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無精瘋 同學(xué)的分享 目錄: 印象中的頭條 面試背景 準備面試 ...
摘要:正如我標題所說,簡歷被拒。看了我簡歷之后說頭條競爭激烈,我背景不夠,點到為止。。三準備面試其實從三月份投遞簡歷開始準備面試到四月份收,也不過個月的時間,但這都是建立在我過去一年的積累啊。 本文是 無精瘋 同學(xué)投稿的面試經(jīng)歷 關(guān)注微信公眾號:進擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無精瘋 同學(xué)的分享目錄:印象中的頭條面試背景準備面試頭條一面(Java+項目)頭條...
摘要:書接上文,繼續(xù)干,配置一些常用的插件使支持壓縮插件默認已經(jīng)有,所以只需要引入就可以使用在中配置生成將的目錄下面的移入目錄,并且刪除以及的引入標簽,然后安裝包。在中添加后續(xù)抽空補上打包以及第三方插件的的配置。。。。。。 書接上文,繼續(xù)干,配置一些常用的插件使支持 uglifyjs js壓縮插件 webpack默認已經(jīng)有uglifyjs,所以只需要引入就可以使用. 在webpack...
摘要:從最簡單的到項目中的實踐。指令是平臺下,并且使用了來安裝包的依賴一基礎(chǔ)初始化項目會在項目目錄下創(chuàng)建文件安裝下面來寫最簡單的一個入門。 webpack4前言背景用途不多說,上來就干。從最簡單的demo到項目中的實踐。(指令是window 平臺下,并且使用了cnpm 來安裝包的依賴.)一.基礎(chǔ)demo 1.初始化項目 npm init -y 會在項目目錄下創(chuàng)建package.json 文件...
閱讀 702·2021-11-18 10:02
閱讀 3578·2021-09-02 10:21
閱讀 1725·2021-08-27 16:16
閱讀 2057·2019-08-30 15:56
閱讀 2385·2019-08-29 16:53
閱讀 1372·2019-08-29 11:18
閱讀 2951·2019-08-26 10:33
閱讀 2640·2019-08-23 18:34