国产美女一级毛片精品久久久|婷婷影院在线综合免费视频|最新国产午夜精品视频成人|久久精品九九无码免费

程序員:寫代碼究竟為誰?

來源:北大青鳥飛迅校區(qū)|發(fā)布時間:2013-05-05 11:18:03

  幾周前,布萊斯在網(wǎng)上發(fā)帖,漫談自己對編程工作的看法。在Reddit上引起了廣泛討論。討論的焦點集中在程序員的等級——“優(yōu)秀”、“良好”、“糟糕”和“極差”。我發(fā)現(xiàn),討論中一些用語十分不妥。"好"與"壞"都是道德評價,評價之后似乎便給人貼上了永久不變的標(biāo)簽。

  可以肯定的說,我曾被另一個程序員稱作是 “極差”的程序員。我也承認,我確實寫過一些極差的代碼;但我也自認為曾寫過相當(dāng)多的“好”代碼。

  要評判很久以前寫出的代碼是優(yōu)是劣很不容易,因為現(xiàn)在已經(jīng)不知道當(dāng)時為什么編寫這些代碼,也不知道為誰編寫了這些代碼。

  問問自己,現(xiàn)在正為誰編寫代碼?

  為了按時交付任務(wù)

  也許最常見的原因就是為了按時交付任務(wù)。走走捷徑,寧可復(fù)制粘貼刪掉幾行代碼也不愿意重構(gòu)代碼,然后匆匆交工。我們都這么做過,也都知道這是不妥的。

  為了突出的考核結(jié)果

  當(dāng)管理者本身不懂代碼,卻有一套程序員“好壞”評價標(biāo)準(zhǔn)時,會出現(xiàn)什么情況?程序員要理清這套標(biāo)準(zhǔn)并不困難,因為他們的特長就是解決難題,然后他們會努力完善自己,從而迎合評價標(biāo)準(zhǔn)。代碼行數(shù)、已解決Bug數(shù)量、注釋的密度、代碼深度等都可能是衡量編碼人員的指標(biāo),但這些又都是相對標(biāo)準(zhǔn),而不是絕對標(biāo)準(zhǔn)。也有些新穎的衡量手段(比如“已刪除代碼的行數(shù)”)。

  為計算機編寫

  從某種意義上來說,所有的程序都是為計算機編寫的,但計算機應(yīng)當(dāng)程序員最后才考慮的。計算機只注重語法,不注重注釋和變量名稱。大多數(shù)程序語言也不注重間距與代碼格式化。當(dāng)然,你還是要選擇正確的算法,但不要想著通過微小的優(yōu)化來加速算法。在for循環(huán)中,使用i++還是++i并不重要,編譯器和JITs 會解決這些問題。在考慮優(yōu)化算法之前,還是應(yīng)該先把代碼寫的清晰易懂。要知道編碼在使用通用模式時,計算機和編譯器運行的更快。

  為了自己

  雖然學(xué)習(xí)一門新的程序語言很有趣,不過如果你將整個公司架構(gòu)都建立興趣之上是不切實際的。Hacker News上曾有一則相關(guān)故事,Lambda the Ultimate網(wǎng)站上還有更糟糕的案例。如果你是為自己寫代碼,你可以不加注釋,可以隨意使用糟糕的變量名,甚至使用其他“怪癖”,但這樣寫出來的怪異代碼別人很難看明白。不過沒關(guān)系,因為每個人都會時不時想在某些事上找點漏洞出來。

  為后來者編程

  編程是把抽象觀念轉(zhuǎn)換成計算機可以理解的形式。即使是細微的抽象觀念,轉(zhuǎn)換成代碼也是很不簡單。因此很多軟件項目都衍生出了成千上萬甚至是上百萬行的代碼,相當(dāng)于一本代碼書。通過有限的語法與其他人交流這些概念,大多數(shù)時候都注定失敗。

  我所寫的最出色代碼就是我愿意花時間來添加注釋、列出代碼流、甚至附上一些ASCII文字圖的代碼。編寫過程專注于如何把自己抽象概念,與今后將有可能讀到這些程序的、不幸的程序員進行傳遞和交流。我認為專注于這種交流,代碼會變得越來越好,因為你會更深入地思考抽象概念以及如何對正在做的事情分層,而不是一味的編寫代碼和轉(zhuǎn)到下一個程序塊。

上一篇:教你提高Oracle數(shù)據(jù)庫命中率及相關(guān)優(yōu)化
下一篇:Java與.NET誰更有前途?學(xué)哪個好?

熱門話題

招生熱線: 4008-0731-86 / 0731-82186801

學(xué)校地址: 長沙市天心區(qū)團結(jié)路6號

Copyright © 2006 | 湖南大計信息科技有限公司 版權(quán)所有

湘ICP備14017520號-3

關(guān)注我們
在線咨詢
嘿,我來幫您!
濉溪县| 沁源县| 凤阳县| 奉贤区| 调兵山市| 澎湖县| 金湖县| 广宗县| 长春市| 满城县| 钟山县| 宁化县| 兴海县| 沈丘县| 沈阳市| 青海省| 汨罗市| 邹平县| 高要市| 福海县| 大庆市| 平顺县| 互助| 方山县| 宣武区| 镇雄县| 凤冈县| 金溪县| 高雄市| 广宁县| 麦盖提县| 夹江县| 五常市| 永川市| 阿城市| 新密市| 山东| 靖远县| 雷山县| 廊坊市| 蒲城县|