自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

六個(gè)開源軟件開發(fā)的“潛規(guī)則”

開源
你想成為開源項(xiàng)目中得意滿滿、功成名就的那個(gè)人嗎,那就要遵守下面的“潛規(guī)則”。

你想成為開源項(xiàng)目中得意滿滿、功成名就的那個(gè)人嗎,那就要遵守下面的“潛規(guī)則”。

正如體育界不成文的規(guī)定一樣,這些規(guī)則基本上不會(huì)出現(xiàn)在官方文檔和正式記錄上。比如說,在棒球運(yùn)動(dòng)中,從比分領(lǐng)先時(shí)不要盜壘,到跑壘員跑了***時(shí)也不要放棄四壞球保送。對(duì)于圈外人來講,這些東西很難懂,甚至覺得沒什么意義。但是對(duì)于那些想成為 MVP 的隊(duì)員來說,這些都是理所當(dāng)然的。

軟件開發(fā),特別是開源軟件開發(fā)中,也有一套不成文的規(guī)定。和其它的團(tuán)隊(duì)運(yùn)動(dòng)一樣,這些規(guī)定很大程度上決定了開源社區(qū)如何看待一名開發(fā)者,特別是新加入社區(qū)的開發(fā)者。

[[191523]]

按部就班,循序漸進(jìn)

在參與社區(qū)之前,比如開放源代碼或者其它什么的,你需要做一些基本工作。對(duì)于有眼界的開源貢獻(xiàn)者,這意味這你需要理解社區(qū)的目標(biāo),并學(xué)習(xí)應(yīng)該從哪里起步。人人都想貢獻(xiàn)源代碼,但是只有少量的人做過準(zhǔn)備,并且樂意、同時(shí)也有能力完成這項(xiàng)艱苦卓絕的工作:測(cè)試補(bǔ)丁、復(fù)審代碼、撰寫文檔、修正錯(cuò)誤。所有的這些不受待見的任務(wù)在一個(gè)健康的社區(qū)中都是必要的。

為什么要在優(yōu)雅地寫代碼前做這些呢?這是一種信任,更重要的是,不要只關(guān)注自己開發(fā)的功能,而是要關(guān)注整個(gè)社區(qū)的動(dòng)向。

博聞強(qiáng)識(shí),敦善不怠

當(dāng)你在某個(gè)社區(qū)中建立起自己的聲望,那么很有必要全面了解該項(xiàng)目和代碼。不要停留于任務(wù)狀態(tài)上,而是要去鉆研項(xiàng)目本身,理解那些超出你擅長(zhǎng)范圍之外的知識(shí)。不要只把自己的理解局限于開發(fā)者,這樣會(huì)讓你著眼于讓你的代碼有更大的影響,而不只是你那一畝三分地。

打個(gè)比方,你已經(jīng)完成了一個(gè)網(wǎng)絡(luò)模塊的測(cè)試版本。你測(cè)試了一下,覺得不錯(cuò)。然后你把它開放到社區(qū),想要更多的人測(cè)試。結(jié)果發(fā)現(xiàn),當(dāng)它以特定的方式部署時(shí),有可能會(huì)破壞安全設(shè)置,還可能導(dǎo)致主存儲(chǔ)泄露。如果你將代碼視為一個(gè)整體時(shí)問題就可以迎刃而解,而不是孤立地看待問題。這表明,你要對(duì)項(xiàng)目各個(gè)部分如何與其他人協(xié)作交互有比較深入的理解。讓你的補(bǔ)丁填坑而不是挖坑。這樣你朝成為社區(qū)精英的目標(biāo)上又前進(jìn)了一大步。

粗枝大葉,自尋煩惱

代碼提交完畢后你的工作還沒結(jié)束。如果代碼被接受,還會(huì)有一些關(guān)于這些更改的討論和常見的問答,還要做測(cè)試。你要確保你可以準(zhǔn)時(shí)提交,努力去理解如何在不影響社區(qū)其他成員的情況下,改進(jìn)代碼和補(bǔ)丁。

和諧相處,助人助己

開源社區(qū)不是自相殘殺的叢林世界,我們更看重項(xiàng)目的價(jià)值而非個(gè)體的貢獻(xiàn)和成功。如果你想給自己加分,讓自己成為更重要的社區(qū)成員、讓社區(qū)接納你的代碼,那就努力幫助別人。如果你熟悉網(wǎng)絡(luò)部分,那就去復(fù)審網(wǎng)絡(luò)部分,用你的專業(yè)技能讓整個(gè)代碼更加優(yōu)雅。道理很簡(jiǎn)單,***的審查者經(jīng)常和***的貢獻(xiàn)者打交道。你幫助的人越多,你就越有價(jià)值。

八面玲瓏,面面俱到

作為一個(gè)開發(fā)者,你很可能希望為開源項(xiàng)目解決一個(gè)特定的痛點(diǎn)?;蛟S你想要運(yùn)行在一個(gè)目前還不支持的系統(tǒng)上,抑或你很希望改革社區(qū)目前使用的安全技術(shù)。想要引進(jìn)新技術(shù),特別是比較有爭(zhēng)議的技術(shù),***的辦法就是讓人無法拒絕它。你需要透徹地了解底層代碼,考慮每個(gè)極端情況。在不影響已實(shí)現(xiàn)功能的前提下增加新功能。不僅僅是完成就行,還要在特性的完善上下功夫。

糜不有初,鮮克有終

開源社區(qū)也有許多玩玩就算的人,但是承諾了就不要輕易失信。不要就因?yàn)樘峤槐痪芫碗x開社區(qū)。找出原因,修正錯(cuò)誤,然后再試一試。當(dāng)你開發(fā)時(shí)候,要和整個(gè)代碼庫保持一致,確保即使項(xiàng)目發(fā)生變化而你的補(bǔ)丁仍然可用。不要把你的代碼留給別人修復(fù),要自己修復(fù)。這樣可以在社區(qū)形成良好的風(fēng)氣,每個(gè)人都自己改。

這些“潛規(guī)則”看上去很簡(jiǎn)單,但是還是有許多開源項(xiàng)目的貢獻(xiàn)者并沒有遵守。這樣做的開發(fā)者不僅可以為成功地推動(dòng)他們自己的項(xiàng)目,而且也有助于開源社區(qū)。

作者簡(jiǎn)介:

Matt Hicks 是 Red Hat 軟件工程的副主席,也是 Red Hat 開源合作團(tuán)隊(duì)的奠基成員之一。他歷時(shí)十五年,在軟件工程中擔(dān)任多種職務(wù):開發(fā),運(yùn)行,架構(gòu),管理。

責(zé)任編輯:未麗燕 來源: Linux中國
相關(guān)推薦

2020-03-09 11:00:42

軟件技術(shù)開發(fā)

2022-08-16 08:31:11

軟件開發(fā)程序員

2019-07-05 09:00:00

軟件開發(fā)數(shù)據(jù)

2019-12-19 14:42:40

開源數(shù)據(jù)科學(xué)項(xiàng)目

2022-12-19 14:38:59

2021-08-23 11:35:00

工具yyds開源

2020-11-18 08:00:00

安全數(shù)據(jù)勒索軟件

2022-04-18 07:51:31

Web框架模板

2012-08-22 10:44:08

軟件開發(fā)

2023-10-16 22:44:06

2009-12-30 15:41:09

2020-03-29 11:46:16

前端開發(fā)前端工具

2021-09-03 09:57:13

開源技術(shù) 項(xiàng)目

2013-07-30 16:27:20

App Store潛規(guī)則

2015-10-22 13:43:10

開源平臺(tái)PaaS應(yīng)用開發(fā)

2021-10-21 08:00:00

開發(fā)技能技術(shù)

2020-04-22 14:27:44

前端工具開發(fā)

2023-09-07 11:53:05

2016-11-13 16:46:49

2015-01-19 10:33:07

Fedora 21Fedora 21云開源云
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)