天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

你的代碼為誰而寫?

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


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

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

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

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

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

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

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

  為計(jì)算機(jī)編寫

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

  為了自己

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

  為后來者編程

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

  我所寫的最出色代碼就是我愿意花時間來添加注釋、列出代碼流、甚至附上一些ASCII文字圖的代碼。編寫過程專注于如何把自己抽象概念,與今后將有可能讀到這些程序的、不幸的程序員進(jìn)行傳遞和交流。我認(rèn)為專注于這種交流,代碼會變得越來越好,因?yàn)槟銜钊氲厮伎汲橄蟾拍钜约叭绾螌φ谧龅氖虑榉謱樱皇且晃兜木帉懘a和轉(zhuǎn)到下一個程序塊。

  注釋使代碼變得更好理解。每當(dāng)你再次做某事的時候,總會比上一次更好。當(dāng)你在編寫代碼和注釋時,就是將抽象概念向讀者解釋了兩遍。這會迫使你思考更多。很多次我寫完一個代碼以后都會對它寫一個注釋。然后從頭修訂代碼,甚至改變了一些小地方,例如選擇更好的變量名稱,來更好的交流想法。

  評價(jià)代碼/程序員

  綜合前文所述,可以看出,編程人員孰優(yōu)孰劣確實(shí)難以定奪。因?yàn)殡y以明確他們編寫代碼目的。你可以考評代碼,但你無法得知代碼編寫者當(dāng)時的心理狀況。或許那天是星期五,他急著要趕去維加斯度周末;也許是程序出了問題,他不得不采取緊急補(bǔ)救措施,但這些補(bǔ)救措施一用就是5年;也可能他原本就是個不合格的程序員。

  也許編程真是一門藝術(shù)?

  我不知道如何公正地考核編程人員,我想也沒幾個公司能做到。看看程序員的面試流程就清楚了,他們只不過坐在桌前被問幾個問題而已;根本沒有什么標(biāo)準(zhǔn)測試能讓計(jì)算機(jī)科學(xué)專業(yè)的學(xué)生證明自己已經(jīng)掌握了必要的技能。

  編程工作帶有太多藝術(shù)色彩,所以不可能通過測試手段或者固定的考核標(biāo)準(zhǔn)來評價(jià)。

  你知道還有哪個領(lǐng)域也是通過視覺媒介將抽象的概念傳達(dá)給其他人?美術(shù)和繪畫作品。今天,我們或許會說梵高是個大人物(其畫作聞名于世),但是仍然有人不喜歡他的作品。類似表達(dá)抽象概念的事物不應(yīng)該用“好”或“壞”來評價(jià)。

  程序員可以做到的就是時刻提醒自己,編程的目的要正確。不能僅僅要求編譯器能識別就行,不能為了迎合某種考核標(biāo)準(zhǔn),也不能為了按時交工而編程。相反,應(yīng)該適時注解或?qū)懳臋n,解釋或記錄代碼功能。只要用心,你就能編寫出優(yōu)秀代碼。如此一來,以后就會有人夸你是個優(yōu)秀程序員,而不會因你那一萬行的代碼文件而“咒罵”你是“極品”程序員。歡迎在評論或微博中分享你的觀點(diǎn)。


  本文出處:伯樂在線- 職場博客
  本文鏈接:http://www.jobbole.com/entry.php/355
  Via:Paul 文章推薦:關(guān)關(guān)  編譯:伯樂在線 敏捷翻譯組- 高志翔/石曉明 
  如需轉(zhuǎn)載,但請注明文章來源和超鏈接等版權(quán)信息,否則視為侵權(quán),謝謝合作!

it知識庫你的代碼為誰而寫?,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 漂亮美女2018完整版 | 打扑克床上视频不用下载免费观看 | 日本无码色哟哟婷婷最新网站 | 国产午夜一区二区三区免费视频 | 激情内射亚洲一区二区三区爱妻 | jizz黑丝| 国产自啪偷啪视频在线 | 如懿传免费观看在线全集 | 最新国自产拍天天更新 | 欧美亚洲日韩国产在线在线 | 成人在线观看视频免费 | 国模啪啪久久久久久久 | 神马电影我不卡国语版 | 国产亚洲精品久久久无码狼牙套 | 在线AV国产传媒18精品免费 | 成人动漫百度影音 | 亚洲国产综合人成综合网站00 | 国内精品久久久久久西瓜色吧 | 国产精品AV无码免费播放 | 在线看片福利无码网址 | 亚洲欧美一区二区三区蜜芽 | 欧美国产成人在线 | 看免费人成va视频全 | 天美传媒果冻传媒入口视频 | 啊灬啊灬啊灬快灬深高潮啦 | 国产亚洲人成在线视频 | 我的好妈妈BD免费观看 | 中文日产无乱码AV在线观 | 黑人 尺寸 强行害怕 痛哭 | 成人午夜精品无码区久久漫画日本 | 777久久人妻少妇嫩草AV蜜桃 | 色欲久久99精品久久久久久AV | 色欲人妻无码AV精品一区二区 | 国产一区二区三区在线看片 | 国产欧美一区二区三区在线看 | 久久aa毛片免费播放嗯啊 | 囚禁固定在调教椅上扩张H 秋霞最新高清无码鲁丝片 秋霞在线看片无码免费 | 嫩草在线播放 | 伊人久久网国产伊人 | 免费99精品国产自在现线 | 欧美三级aaa |