2018-08-17 16:23:16 1151瀏覽
今天扣丁學(xué)堂Linux培訓(xùn)小編給喜歡Linux或者是從事Linux開發(fā)的小伙伴分享一篇Linux開發(fā)經(jīng)驗的總結(jié),別的不多說,下面我們一起來看一下吧,希望對小伙伴們有所幫助。
1、更短的發(fā)布周期很重要
在Linux項目的早期階段,內(nèi)核的每個主版本需要好幾年發(fā)布一次,這意味著用戶需要等待很長時間才能享受到新功能,這對于用戶和經(jīng)銷商來說是相當(dāng)令人沮喪的。而且,更重要的是,這么長的周期意味著需要一下子集成大量的代碼。把這么多代碼合入一個版本里,壓力也是很大的。
更短的周期可以解決所有這些問題。新代碼能夠在更短時間內(nèi)合入到穩(wěn)定版中。將新代碼集成到幾乎穩(wěn)定不變的基線版本上,使得能夠在對系統(tǒng)產(chǎn)生極小影響的情況下引入根本性的變化。開發(fā)人員知道,如果他們錯過了這個發(fā)布周期,兩個月內(nèi)還會有另外一個,所以他們很少會過早地合入代碼。
2、工具的重要性
內(nèi)核開發(fā)一直在試圖擴大開發(fā)人員的范圍,直到BitKeeper這款源代碼管理系統(tǒng)出現(xiàn),幾乎在一夜之間社區(qū)的做法發(fā)生了改變,而Git的出現(xiàn)帶來了又一次的飛躍。如果沒有合適的工具,像內(nèi)核這樣的項目將無法正常運轉(zhuǎn),從而會被自身的重量壓垮。
3、強大的輿論導(dǎo)向模式很重要
一般來說,如果一個開發(fā)大咖拒絕了某個提交上來的變更,那么這個變更將不會被合并進(jìn)去。如果開發(fā)人員發(fā)現(xiàn)自己在幾個月前提交的代碼在郵件列表中被拒絕了,那是非常令人沮喪的。但這也保證了內(nèi)核開發(fā)可以適應(yīng)大量的用戶和問題。沒有哪個用戶社區(qū)能夠以犧牲其他群組為代價而進(jìn)行變更。我們有一個可以支持從微型系統(tǒng)到超級計算機的代碼庫,它可以應(yīng)用在很多場景上。
4、流程的擴展需要一個分布式的分層開發(fā)模型
很久以前,所有的變更需求都會直接轉(zhuǎn)到Linus Torvalds手中,但這很快就被證明是不合適的,因為沒有哪個人可以全面掌握像操作系統(tǒng)內(nèi)核這么復(fù)雜的項目。很早的時候,內(nèi)核不同領(lǐng)域的維護(hù)者們就提出了一個想法,就是把內(nèi)核的其中一部分分配給熟悉該領(lǐng)域的人。例如,網(wǎng)絡(luò)、無線、像PCI或USB這樣的驅(qū)動程序子系統(tǒng)、或者像ext2或vfat這樣的文件系統(tǒng)。然后再擴展到由數(shù)百名維護(hù)人員負(fù)責(zé)代碼審查和整合,從而使得能夠在不犧牲產(chǎn)品質(zhì)量的情況下,在每個發(fā)布的版本中都包含成千上萬的變更。
5、強大的“無回歸”規(guī)則也很重要
大約在十多年前,內(nèi)核開發(fā)社區(qū)承諾,如果給定的內(nèi)核在特定的環(huán)境中能正常運行,那么所有后續(xù)的內(nèi)核版本也能在這個環(huán)境中正常運行。如果社區(qū)發(fā)現(xiàn)某個變更導(dǎo)致了其他問題的出現(xiàn),他們會很快地解決這個問題。該規(guī)則承諾用戶:系統(tǒng)升級不會破壞他們原來的系統(tǒng)。 因而,維護(hù)者很愿意在開發(fā)新功能的時候延續(xù)這個內(nèi)核。
6、項目中不應(yīng)有內(nèi)部界限
內(nèi)核開發(fā)人員必須專注于內(nèi)核的特定部分,但只要修改是合理的,那么任何開發(fā)人員都可以對內(nèi)核的任何部分進(jìn)行修改。從而,問題在產(chǎn)生的時候就會被解決掉,而不是規(guī)避掉。開發(fā)人員對整個內(nèi)核有很多各種各樣的看法,即便是最頑固的維護(hù)者也不能無限期地擱置任何指定子系統(tǒng)中所必需的改進(jìn)。
想要了解更多關(guān)于Linux開技能方面的問題請關(guān)注扣丁學(xué)堂官網(wǎng)、微信等平臺,扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺為您提供權(quán)威的Linux開發(fā)環(huán)境搭建視頻,通過千鋒扣丁學(xué)堂金牌講師在線錄制的Linux開發(fā)教程,讓你快速掌握Linux從入門到精通開發(fā)實戰(zhàn)技能??鄱W(xué)堂Linux技術(shù)交流群:422345477。
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>