国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

借云招OurATS的升級變遷來分享下PHP"動態(tài)一時爽,寫好測試一直爽"的體驗

heguangyu5

對云招OurATS完全不了解的網(wǎng)友可以看下上一篇文章/帖子:

談?wù)勗普蠴urATS為什么不把開發(fā)語言從PHP轉(zhuǎn)成go/java/.net,而是搞了個PHP編譯器BPC來實現(xiàn)本地部署

簡言之,云招OurATS是一個使用PHP語言開發(fā)的招聘管理系統(tǒng).

1. 動態(tài)一時爽,重構(gòu)火葬場?

經(jīng)常看到有網(wǎng)友接手PHP/Python等動態(tài)語言開發(fā)的項目后,不管是加功能還是調(diào)bug,都痛苦不不堪,直呼"動態(tài)一時爽,重構(gòu)火葬場".

確實,我本人在參與開發(fā)云招OurATS的前兩年里也有類似的經(jīng)歷.

當(dāng)時面臨最大的問題是,不敢輕易加需求.

為什么?

因為經(jīng)過2年的開發(fā),云招OurATS的代碼庫已經(jīng)稍有規(guī)模.每添加一個需求,是否會影響到其它功能模塊,都需要好好測試才放心.

可是招聘系統(tǒng)的功能模塊多,相互關(guān)聯(lián)錯綜復(fù)雜,要測試的地方太多了,就一個字,累!

當(dāng)時敏捷開發(fā)、TDD是非常流行的,尤其是TDD很明顯可以解決我們面臨的測試問題,所以當(dāng)時狠花了一些時間研究怎么搞TDD.

也去聆聽過某知名公司組織的敏捷開發(fā)分享交流會,發(fā)現(xiàn)方法論比較多,落地實戰(zhàn)幾乎沒有.

于是靜下心來,自己搞.

2. 寫好測試用例

核心關(guān)鍵點:

  1. 測試用例不好寫

    那是被測試代碼不容易測,需要重組代碼結(jié)構(gòu),讓測試用例好寫

  2. 要高覆蓋率嗎?

    覆蓋率只是一個指標(biāo)/手段,不是目的.

    目的是建立對被測試代碼的信心,寫個1+1=2 根本不需要測試,因為我們有信心不會出錯.

    核心邏輯覆蓋到,在擔(dān)心出錯的地方多覆蓋,在有信心不出錯的地方少覆蓋.

  3. 擺正心態(tài),寫測試用例肯定會多花點時間,但這是為了不去體驗火葬場

3. 云招OurATS的升級之路

云招OurATS至今已經(jīng)歷了三次大的升級:

  1. Ubuntu 12.04 + MySQL 5.5 + PHP 5.3
  2. Ubuntu 18.04 + MySQL 5.7 + PHP 7.2 / BPC編譯發(fā)布
  3. Ubuntu 24.04 + MySQL 8.0 + PHP 8.3 / BPC編譯發(fā)布

每次升級,都是先跑通測試用例,這時會有一些SQL和PHP的兼容性調(diào)整,但都很輕松地搞定了.

升級后系統(tǒng)運行地也很平穩(wěn),利益于PHP近些年來的性能提升,每次升級都還能節(jié)省幾臺服務(wù)器.

在2023年初,我們使用PHP編譯器BPC成功編譯了云招OurATS.

BPC完全脫離了PHP解釋器,每一個PHP的語法、擴(kuò)展函數(shù)都重新實現(xiàn)了一遍,這當(dāng)中如果沒有測試做保障,那根本就是不可能完成的任務(wù).

好在PHP自身有完善的phpt測試用例,BPC首先通過了這一層測試.

OurATS相關(guān)的每個項目/模塊也都有寫好的PHPUnit測試用例,BPC也通過了這一關(guān)測試.

測試都過了,我們很有信心BPC編譯后的OurATS等價于PHP解釋執(zhí)行的OurATS.

如此大規(guī)模的升級都輕松搞定了,日常的小升級更不在話下.

這十多年來,每年我們的代碼庫都會有相當(dāng)規(guī)模的變化,但這十多年里,我們沒再體驗過火葬場,我們也非常自信云招OurATS和"屎山"不沾邊.

4. 更多關(guān)于云招OurATS TDD經(jīng)驗的分享

  1. 我本人寫過一本小電子書《PHPUnit in Action --- The Easy Way》,介紹了云招OurATS的PHPUnit實戰(zhàn)經(jīng)驗.
  2. 云招CTO(不是我)的公眾號"小馬過河的思考",也分享了不少云招OurATS的東西.并且小馬過河的文風(fēng)別具一格,讀來輕松幽默,配圖也非常有趣,非常推薦大家關(guān)注看看.
702 1 0
1個評論

zzll

貴公司還在招人嗎

heguangyu5

2250
積分
0
獲贊數(shù)
0
粉絲數(shù)
2022-11-24 加入
??