新聞中心

EEPW首頁 > 牛人業(yè)話 > 寫代碼需要民主,更需要專政!

寫代碼需要民主,更需要專政!

作者:光華居士 時間:2018-10-16 來源:電子產(chǎn)品世界 收藏

十月革命一聲炮響,給中國送來了馬克思列寧主義和布爾什維克主義,據(jù)說,布爾什維克的路線方針就是:“不是我們殺死他們,就是他們殺死我們,沒有中間道路。”天寒地凍造就了北極熊的兇猛好斗,也給俄國的布爾什維克披上了一層冰冷的外衣。在中國,這個有著5000年中原文明的國度里,在漫長的反封建反帝國主義的斗爭中,中國共產(chǎn)黨人實事求是,結(jié)合馬克思列寧主義,聯(lián)系中國實際,創(chuàng)立了人民的中間道路。它通過的方式避免了斗爭性過強的左傾主義,盡顯人性之溫柔,又通過的方式避免了妥協(xié)投降的右傾主義,彰顯了斗爭之嚴酷。這是一次偉大的創(chuàng)舉,是儒家思想中庸之道和布爾什維克的完美結(jié)合,人民制度廣而用之,可以指導我們生活、工作的方方面面。比如,對軟件開發(fā)來講,民主和專政都很重要。

本文引用地址:http://m.butianyuan.cn/article/201810/392927.htm

團結(jié)就是力量

俗話說,一個籬笆三個樁,一個好漢三個幫,正是有了分工,學會了合作,人類才在漫長的進化中擊敗了其它物種,站上了整個食物鏈的最頂端。不是有一首紅色歌曲那樣唱的嗎:“團結(jié)就是力量,這力量是鐵,這力量是鋼,比鐵還硬,比鋼還強。。?!?/p>

那么,在一起的過程中,“民主”是怎么團結(jié)碼農(nóng)從而發(fā)揮力量的呢?

從本質(zhì)上來說,是一種創(chuàng)造性的勞動,盡管有各種架構、設計模式、成熟方案、方法論,但具體的實現(xiàn)過程依然主觀性很強,最終實現(xiàn)的代碼中不可避免地帶有碼農(nóng)個人的風格和特色。據(jù)說,這世上每個人都是上帝咬過一口的蘋果,或多或少都帶有缺陷,那么,碼農(nóng)的作品-代碼-也或多或少沾染了作者的氣息,必然不可能是盡善盡美的,金無足赤人無完人嘛。

盡管碼農(nóng)們有著技術水平的高低差異,但是,萬物之靈的人類有著豐富多彩的情感,有著個性鮮活的生命,水平高的人有時也會犯下低級錯誤,有時候產(chǎn)品遇到問題,我們查找bug的時候,會發(fā)現(xiàn)所謂的bug只是一個低級錯誤,一個本來不該發(fā)生的低級錯誤,比如該是“按位取反”,結(jié)果搞成了“邏輯非”,比如該是比較是否相等,結(jié)果變成了比較是否不等,諸如此類的小bug,有時就是那么鬼使神差地出現(xiàn)了,最終找出來時,讓人哭笑不得,老虎畢竟還有打盹的時候吶。如果時,有一個所謂技術水平稍低一點的人在一邊陪寫代碼,這樣既貫徹了敏捷開發(fā)的理念,也避免了這種bug的出現(xiàn),另外,這種言傳身教,手把手地教著寫代碼,也能夠促進菜鳥技術的飛升,更好地把團隊帶出來,一箭雙雕,何樂而不為呢!

此外,“橫看成嶺側(cè)成峰,遠近高低各不同?!泵總€人的技術水平不同,習慣秉性不同,歷史經(jīng)驗不同,在面對同樣的問題時,自然是會提出不同的解決方案,而在產(chǎn)品設計之初,反復論證解決方案是必不可少的一個步驟。人,理性和感性并存,有時好的性格、好的習慣會彌補技術水平上的差距,針對同樣一個問題,技術水平稍差的人卻可能會提出更好的解決方案來,當其時也,幾個工程師湊在一起唇槍舌戰(zhàn),你來我往,好不熱鬧,在頭腦風暴中,在思維的激蕩碰撞中,解決方案不斷打磨成型,愈加完美,豈不妙哉?!

大方向必須專政

百度上說,聰明人喜歡在一起共事,度娘上又說,聰明人在一起相處很難,這種自相矛盾的模棱兩可在一定程度上反映了人性的微妙和復雜,寫代碼做為一種高度復雜的人類活動,也不可避免地在單純的技術開發(fā)之外或多或少地平添了一些火藥氣息。

在筆者十幾年的開發(fā)生涯中,多次和同事唇槍舌戰(zhàn),有時是為了澄清對一項技術要求的理解,有時是為了理順程序結(jié)構,有時是為了定義清晰明確的接口,有時甚至只是為了該用tab鍵還是空格鍵進行縮進而爭論不休,記得美劇《硅谷》里講到寫代碼怎么縮進,根據(jù)tab鍵還是空格鍵就劃分出了兩個陣營,男主就是因為這個和一個快要發(fā)展為女友的女碼農(nóng)爭辯不休最終分手的。

有那么嚴重嗎?當然!筆者是堅決的空格鍵陣營,因為不同的編輯環(huán)境里tab鍵的含義不同,有對應于2個空格鍵的,有對應4個空格鍵的,還有對應8個空格鍵的,如果某甲在編輯器A里寫代碼,用的tab鍵對應兩個空格,某乙在編輯器B里寫代碼,用的tab鍵對應4個空格,那么我們還怎么把某甲和某乙的代碼合在一個編輯器了呢?用tab鍵無非是省事而已?。?!

此外,盡管法律面前人人平等,公平、正義的雨露也時刻飄灑在祖國的上空,但是我們必須承認,人和人就是不平等,《人月神話》里明確指出:優(yōu)秀程序員和比較差的程序員在生產(chǎn)率上存在巨大差異,書里給出的差距是10倍,勞模雷軍也曾經(jīng)在一次活動現(xiàn)場講過技術大牛和小菜存在100倍的差距。且不管比例如何,在這個主要靠人而不是靠機器寫代碼的時代,我們應該自覺自愿地把技術上的決策權讓給水平高的人。

程序員大都心高氣傲,很少服人,但是,軟件系統(tǒng)概念的完整性必須由一人或者少數(shù)有默契的人來實現(xiàn),倘若在此讓步,必然軟件紊亂,漏洞百出,而且,大多數(shù)項目都有時間進度上的嚴苛要求,而不必要的溝通和交流會影響時間成本,當交期臨近,負責人必須乾綱獨斷,

項目成員也要有足夠的自我犧牲和嚴格自律精神,接受專政,貫徹負責人的意志。

后話

當年佛陀在世,僧團人數(shù)眾多,眾口難調(diào),佛陀提出了“六和敬”,以加強僧團的團結(jié)。六和敬即戒和同修、見和同解、利和同均、身和同住、口和無諍、意和同悅。嵌入式領域的碼農(nóng)團隊,一般人數(shù)少,三五人是常態(tài),很容易貫徹六和敬,大家遵守同樣的設計紀律,就是戒和同修,一起分析設計系統(tǒng),形成統(tǒng)一的意見,就是見和同解,項目干成了一起拿錢,干不成一起背鍋,就是利和同均,互不輕視詆毀就是身和同住,說話和氣,就是口和無諍,一起干事,看著項目越來越完善,內(nèi)心充滿喜悅,就是意和同悅。

其實,果真能貫徹了六和敬,可能比實施人民民主專政還要奏效,只是,據(jù)說現(xiàn)在想找一個六和敬的清凈僧團也不好找了,所以,還是有事好商量(民主)、大事負責人做主(專政)更符合實際。

我黨靠人民民主專政推翻了三座大山,建設了新中國,取得了舉世矚目的成就,用它來寫個代碼,還不是小菜一碟?



關鍵詞: 寫代碼 民主 專政

評論


技術專區(qū)

關閉