新聞中心
近來我一直在與某資深開源開發(fā)團隊中的多個成員纏斗,盡管密切關(guān)注我的人們會在讀完本文后猜到是哪個組織,但我不會在這里說出這個組織的名字。

站在用戶的角度思考問題,與客戶深入溝通,找到岑溪網(wǎng)站設(shè)計與岑溪網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋岑溪地區(qū)。
怎么讓某些人進入 21 世紀(jì)就這么難呢?真是的...
我快 56 歲了,也就是大部分年輕人會以為的我將時不時朝他們發(fā)出諸如“滾出我的草坪”之類歇斯底里咆哮的年齡。但事實并非如此 —— 我發(fā)現(xiàn),尤其是在技術(shù)背景之下,我變得與我的年齡非常不相稱。
在我這個年齡的大部分人確實變成了愛發(fā)牢騷、墨守成規(guī)的老頑固。并且,尷尬的是,偶爾我會成為那個打斷談話的人,我會指出他們某個在 1995 年(或者在某些特殊情況下,1985 年)時很適合的方法... 幾十年后的今天就不再是好方法了。
為什么是我?因為年輕人在我的同齡人中很難有什么說服力。如果有人想讓那幫老頭改變主意,首先他得是自己同齡人中具有較高思想覺悟的佼佼者。即便如此,在與習(xí)慣做斗爭的過程中,我也比看起來花費了更多的時間。
年輕人犯下無知的錯誤是可以被原諒的。他們還年輕。年輕意味著缺乏經(jīng)驗,缺乏經(jīng)驗通常會導(dǎo)致片面的判斷。我很難原諒那些經(jīng)歷了足夠多本該有經(jīng)驗的人,卻被長期的固化思維蒙蔽,無法發(fā)覺近在咫尺的東西。
(補充一下:我真的不是保守黨擁護者。那些和我爭論政治的,無論保守黨還是非保守黨都沒有注意到這點,我覺得這頗有點嘲諷的意味。)
那么,現(xiàn)在我們來討論下 GNU 更新日志文件(ChangeLog)這件事。在 1985 年的時候,這是一個不錯的主意,甚至可以說是必須的。當(dāng)時的想法是用單獨的更新日志條目來記錄多個相關(guān)文件的變更情況。用這種方式來對那些存在版本缺失或者非常原始的版本進行版本控制確實不錯。當(dāng)時我也在場,所以我知道這些。
不過即使到了 1995 年,甚至 21 世紀(jì)早期,許多版本控制系統(tǒng)仍然沒有太大改進。也就是說,這些版本控制系統(tǒng)并非對批量文件的變化進行分組再保存到一條記錄上,而是對每個變化的文件分別進行記錄并保存到不同的地方。CVS,當(dāng)時被廣泛使用的版本控制系統(tǒng),僅僅是模擬日志變更 —— 并且在這方面表現(xiàn)得很糟糕,導(dǎo)致大多數(shù)人不再依賴這個功能。即便如此,更新日志文件的出現(xiàn)依然是必要的。
但隨后,版本控制系統(tǒng) Subversion 于 2003 年發(fā)布 beta 版,并于 2004 年發(fā)布 1.0 正式版,Subversion 真正實現(xiàn)了更新日志記錄功能,得到了人們的廣泛認(rèn)可。它與一年后興起的分布式版本控制系統(tǒng)(Distributed Version Control System,DVCS)共同引發(fā)了主流世界的激烈爭論。因為如果你在項目上同時使用了分布式版本控制與更新日志文件記錄的功能,它們將會因為爭奪相同元數(shù)據(jù)的控制權(quán)而產(chǎn)生不可預(yù)料的沖突。
有幾種不同的方法可以折衷解決這個問題。一種是繼續(xù)將更新日志作為代碼變更的授權(quán)記錄。這樣一來,你基本上只能得到簡陋的、形式上的提交評論數(shù)據(jù)。
另一種方法是對提交的評論日志進行授權(quán)。如果你這樣做了,不久后你就會開始思忖為什么自己仍然對所有的日志更新條目進行記錄。提交元數(shù)據(jù)與變化的代碼具有更好的相容性,畢竟這才是當(dāng)初設(shè)計它的目的。
(現(xiàn)在,試想有這樣一個項目,同樣本著把項目做得最好的想法,但兩撥人卻做出了完全不同的選擇。因此你必須同時閱讀更新日志和評論日志以了解到底發(fā)生了什么。最好在矛盾激化前把問題解決....)
第三種辦法是嘗試同時使用以上兩種方法 —— 在更新日志條目中,以稍微變化后的的格式復(fù)制一份評論數(shù)據(jù),將其作為評論提交的一部分。這會導(dǎo)致各種你意想不到的問題,最具代表性的就是它不符合“真理的單點性(single point of truth)”原理;只要其中有拷貝文件損壞,或者日志文件條目被修改,這就不再是同步時數(shù)據(jù)匹配的問題,它將導(dǎo)致在其后參與進來的人試圖搞清人們是怎么想的時候變得非常困惑。(LCTT 譯注:《程序員修煉之道》(The Pragmatic Programmer):任何一個知識點在系統(tǒng)內(nèi)都應(yīng)當(dāng)有一個唯一、明確、權(quán)威的表述。根據(jù)Brian Kernighan的建議,把這個原則稱為“真理的單點性(Single Point of Truth)”或者SPOT原則。)
或者,正如這個我就不說出具體名字的特定項目所做的,它的高層開發(fā)人員在電子郵件中最近聲明說,提交可以包含多個更新日志條目,并且提交的元數(shù)據(jù)與更新日志是無關(guān)的。這導(dǎo)致我們直到現(xiàn)在還得不斷進行記錄。
當(dāng)時我讀到郵件的時候都要吐了。什么樣的傻瓜才會意識不到這是自找麻煩 —— 事實上,在 DVCS 中針對可靠的提交日志有很好的瀏覽工具,圍繞更新日志文件的整個定制措施只會成為負擔(dān)和拖累。
唉,這是比較特殊的笨蛋:變老的并且思維僵化了的黑客。所有的合理化改革他都會極力反對。他所遵循的行事方法在幾十年前是有效的,但現(xiàn)在只能適得其反。如果你試圖向他解釋這些不僅僅和 git 的摘要信息有關(guān),同時還為了正確適應(yīng)當(dāng)前的工具集,以便實現(xiàn)更新日志的去條目化... 呵呵,那你就準(zhǔn)備好迎接無法忍受、無法想象的瘋狂對話吧。
的確,它成功激怒了我。這樣那樣的胡言亂語使這個項目變成了很難完成的工作。而且,同樣的糟糕還體現(xiàn)在他們吸引年輕開發(fā)者的過程中,我認(rèn)為這是真正的問題。相關(guān) Google+ 社區(qū)的人員數(shù)量已經(jīng)達到了 4 位數(shù),他們大部分都是孩子,還沒有成長起來。顯然外界已經(jīng)接受了這樣的信息:這個項目的開發(fā)者都是部落中地位根深蒂固的崇高首領(lǐng),最好的崇拜方式就是遠遠的景仰著他們。
這件事給我的最大觸動就是每當(dāng)我要和這些部落首領(lǐng)較量時,我都會想:有一天我也會這樣嗎?或者更糟的是,我看到的只是如同鏡子一般對我自己的真實寫照,而我自己卻渾然不覺?我的意思是,我所得到的印象來自于他的網(wǎng)站,這個特殊的笨蛋要比我年輕。年輕至少 15 歲呢。
我總是認(rèn)為自己的思路很清晰。當(dāng)我和那些比我聰明的人打交道時我不會受挫,我只會因為那些思路跟不上我、看不清事實的人而沮喪。但這種自信也許只是鄧寧·克魯格效應(yīng)(Dunning-Krueger effect)在我身上的消極影響,我并不確定這意味著什么。很少有什么事情會讓我感到害怕;而這件事在讓我害怕的事情名單上是名列前茅的。
另一件讓人不安的事是當(dāng)我逐漸變老的時候,這樣的矛盾發(fā)生得越來越頻繁。不知怎的,我希望我的黑客同行們能以更加優(yōu)雅的姿態(tài)老去,即使身體老去也應(yīng)該保持一顆年輕的心靈。有些人確實是這樣;但可惜絕大多數(shù)人都不是。真令人悲哀。
我不確定我的職業(yè)生涯會不會完美收場。假如我最后成功避免了思維僵化(注意我說的是假如),我想我一定知道其中的部分原因,但我不確定這種模式是否可以被復(fù)制 —— 為了達成目的也許得在你的頭腦中發(fā)生一些復(fù)雜的化學(xué)反應(yīng)。盡管如此,無論對錯,請聽聽我給年輕黑客以及其他有志青年的建議。
你們——對的,也包括你——一定無法在你中年老年的時候保持不錯的心靈,除非你能很好的控制這點。你必須不斷地去磨練你的內(nèi)心、在你還年輕的時候完成自己的種種心愿,你必須把這些行為養(yǎng)成一種習(xí)慣直到你老去。
有種說法是中年人鍛煉身體的最佳時機是 30 歲以前。我以為同樣的方法,堅持我以上所說的習(xí)慣能讓你在 56 歲,甚至 65 歲的時候仍然保持靈活的頭腦。挑戰(zhàn)你的極限,使不斷地挑戰(zhàn)自己成為一種習(xí)慣。立刻離開安樂窩,由此當(dāng)你以后真正需要它的時候你可以建立起自己的安樂窩。
你必須要清楚的了解這點;還有一個可選擇的挑戰(zhàn)是你選擇一個可以實現(xiàn)的目標(biāo)并且為了這個目標(biāo)不斷努力。這個月我要學(xué)習(xí) Go 語言。不是指圍棋,我早就玩兒過了(雖然玩兒的不是太好)。并不是因為工作需要,而是因為我覺得是時候來擴展下我自己了。(LCTT 譯注:圍棋的英文也是“Go”)
保持這個習(xí)慣。永遠不要放棄。
via: http://esr.ibiblio.org/?p=6485
作者:Eric Raymond 譯者:Stevearzh 校對:Mr小眼兒
名稱欄目:ESR黑客年暮:給年輕黑客和其他有志青年的建議
本文地址:http://www.dlmjj.cn/article/dhhccch.html


咨詢
建站咨詢
