偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

你想成為出色的代碼編寫者嗎?奉上八大方式

譯文
開發(fā) 后端 前端
掌握了本文章所陳述的八種方式,大家的編碼技能應(yīng)該能夠得到顯著提升。

掌握了本文章所陳述的八種方式,大家的編碼技能應(yīng)該能夠得到顯著提升。

1.提醒自己還有多少內(nèi)容需要學(xué)習(xí)

學(xué)習(xí)的***步在于了解自己還有哪些不足之處。雖然這樣的結(jié)論聽起來非常直觀,但經(jīng)驗豐富的程序員能夠更為精確地判斷填補不足需要投入的具體時間。很多計算科學(xué)畢業(yè)生會傲慢地認(rèn)為“我什么都懂”,并希望把自己已經(jīng)掌握的一切展示給新同事們。但事實上,“我知道自己在做什么”才是最重要的,這樣的態(tài)度能夠幫助大家更好地學(xué)習(xí)新知識。

2.不要執(zhí)著于證明自己是對的

為了真正成為一名卓越——而不只是合格——的程序員,大家需要從實踐中積累經(jīng)驗。不過需要注意的是,經(jīng)驗也有可能讓我們一次又一次重復(fù)糟糕的行為并養(yǎng)成負面習(xí)慣。我們都遇到過擁有八年經(jīng)驗的老程序員……但有些人只不過是在每年重復(fù)自己的習(xí)慣,而且一重復(fù)就是八次。為了避免此類問題,大家應(yīng)該審視自身并自問“我要如何做得更好?”

新手軟件開發(fā)人員(以及老鳥們)都應(yīng)該抱著欣賞的態(tài)度看待自己的代碼。他們需要編寫測試以證明自己的代碼能夠切實生效,而不僅僅是避免其出錯。真正杰出的程序員實際上樂于接受自己的錯誤——因為他們知道,即使自己沒有發(fā)現(xiàn),用戶們最終也會將其指出。

3. “代碼能跑”并不是***目標(biāo),而只是起點

是的,我們開發(fā)工作的***步總是編寫出符合質(zhì)量規(guī)范要求的軟件。普通程序員都能做好這項工作,但他們之所以普通,是因為達成這項目標(biāo)后他們就開始轉(zhuǎn)向其它任務(wù)。

需要強調(diào)的是,這種小成即安的心態(tài)就像是想讓一張隨拍成為一件藝術(shù)品。出色的程序員都很清楚,***個迭代版本僅僅只是起步:它能夠確切起效,那么恭喜各位!但這并不是終點,接下來我們要讓它變得更好。

這***程中的重要組成部分在于定義“更好”的確切含義。是否需要進一步提高其運行速度?易于編寫說明文檔?更具復(fù)用性?改進可靠性?具體答案取決于應(yīng)用程序自身,不過這個流程應(yīng)當(dāng)被始終保持下去。

4. 三次編寫成就卓越作品

合格的程序員編寫出“能跑”的軟件。卓越的程序員則編寫出真正優(yōu)秀的軟件成果。而優(yōu)秀的成果幾乎不可能在***編寫時出現(xiàn)。這種杰作通常需要進行三次編寫:

  1. ***次,我們編寫軟件以證明解決方案可行性。其他人可能沒有意識到這只能算是概念驗證型方案,但我們自己應(yīng)該清楚地了解這一點。
  2. 第二次,保證其確切起效。
  3. 第三次,保證一切完全符合預(yù)期。

不過著眼于***秀的開發(fā)人員,這些步驟似乎表現(xiàn)得并不明顯。他們做的每一項工作似乎都才華滿載,但事實上,這類搖滾明***別的開發(fā)者根本不會在***與第二版本階段展示自己的軟件開發(fā)成果。淘汰代碼并重新開始能夠讓我們的個人工作流程真正變得“更好”。

如果不出意外,那么“編寫三次”的方式能夠幫助大家了解如何找到最理想的解決途徑。另外,這也能夠防止我們陷入思維慣性。

5.閱讀代碼——閱讀大量代碼

大家可能希望我會在這里提點具體的建議,很明顯最常見但也最有價值的建議就是提升編程技能。不過很多朋友也許還沒有發(fā)現(xiàn),閱讀他人的代碼其實非常重要。

在閱讀他人的代碼時,我們會了解到其他開發(fā)者是如何處理編程難題的。不過請別單純從字面上理解這項提議,大家應(yīng)當(dāng)更多地將其視為一種教訓(xùn)以及挑戰(zhàn)。為了更好地發(fā)揮其作用,我們需要回答以下幾個問題:

  • 我會如何編寫編寫這部分代碼? 我們該如何以不同方式實現(xiàn)同樣的效果,又是否準(zhǔn)確理解了其他人的解決思路?
  • 我學(xué)到了什么?我該如何將這項技術(shù)應(yīng)用到我過去已經(jīng)編寫的代碼當(dāng)中?(‘我從沒想到要在這里使用遞歸下降……’)
  • 我該如何改進代碼?如果存在合適的開源項目,而大家又想到了改善其質(zhì)量的辦法,請立刻著手進行!
  • 基于相關(guān)作者的風(fēng)格進行代碼編寫。這種作法能夠幫助大家準(zhǔn)確把握其他編寫者的設(shè)計思路,并借此提升自己的移情能力。

這些步驟需要以認(rèn)真的態(tài)度逐步推進。編寫自己的答案,具體形式可以是撰寫個人日志、博文、代碼審查報告或者在社區(qū)論壇上發(fā)布帖子。向朋友解釋某個現(xiàn)實問題能夠幫助我們整理出解決方案,將其寫下并分享分析結(jié)論,這能讓我們更好地理解自己如何以既定方式重現(xiàn)他人代碼。這正是我之前提到的自省心態(tài)的一部分,使得各位能夠冷靜地判斷自己的長處與短處。

警告:即使閱讀了大量代碼,大家仍然未必能夠成為出色的程序員,就像是那樣閱讀過大量杰出文學(xué)作品但卻自身水平依舊低下的作家。很多珍惜生命 員會將開源項目或者其它軟件視為“答案來源”,甚至傾向于直接復(fù)制/粘貼其中的代碼以解決類似的問題。這么干只會讓各位成為更為拙劣的程序員,因為我們這只是在盲目接受其他人的智慧,卻未對其加以檢驗。(另外,這種免費午餐式的作法會導(dǎo)致我們意識不到新bug的引入。)

6.編寫代碼,而不僅僅滿足于現(xiàn)有工作

著手推進個人編程項目有著諸多優(yōu)勢。首先,這能幫助大家學(xué)習(xí)現(xiàn)有工作所接觸不到的工具與技術(shù),并使大家在未來的職業(yè)發(fā)展中更具競爭力。無論大家是在為開源項目做貢獻還是參加當(dāng)?shù)厣鐓^(qū)組織的無償工作,編寫更多代碼都能夠幫助我們積累起技術(shù)水平與自信心。(另外,大家的個人項目也能夠向潛在雇主切實證明,各位一直保持學(xué)習(xí)狀態(tài)且永不自滿。)

出于興趣編寫代碼的另一大優(yōu)勢在于迫使各位自己尋求答案。我們無法將最困難的部分留給其他人,那樣我們往往會在尚未進行充分思考前就向技術(shù)高手求助。

額外提示: 大家***不要選擇那些自己已經(jīng)非常熟悉的項目。經(jīng)歷失敗非常重要!不過在實際工作中失敗卻非常要命,特別是在限定了嚴(yán)格的時間進度的前提下——這也是參與個人項目的重要理由所在。

7.盡可能以一對一方式同其他開發(fā)人員協(xié)作

這有助于讓我們靜下心來傾聽他人意見。這可能意味著進行組隊編程,或者參與編程馬拉松,抑或是加入某個編程用戶群組(例如Vermont Coders Connection)。當(dāng)為開源項目做貢獻時,大家應(yīng)當(dāng)高度關(guān)注來自用戶以及其他開發(fā)者的反饋意見,也許這些批評觀點中包含著極有價值的共同點。

大家可能會找到一位值得信任、能夠切實指導(dǎo)我們工作,甚至足以點撥我們完善職業(yè)規(guī)劃的好伙伴。千萬不要因為懶惰而錯失這寶貴的機遇。

8.學(xué)習(xí)技術(shù)而非工具

編程語言、工具與方法總是在不斷變化。有鑒于此,盡可能多地涉獵不同語言與框架就變得非常重要。大家應(yīng)該將著眼于放在編程基礎(chǔ)身上,因為基礎(chǔ)知識永遠不會改變; 換言之,更多重視結(jié)構(gòu)而非編程。如果大家認(rèn)為只有一種正確方式完成某項任務(wù),那么不妨親自進行實踐。教條主義會損害我們學(xué)習(xí)新鮮事物的能力,并導(dǎo)致各位在適應(yīng)變化時顯得比較遲鈍。

原文標(biāo)題:8 Ways to Become a Better Coder

【51CTO.com獨家譯稿,合作站點轉(zhuǎn)載請注明來源】

責(zé)任編輯:王雪燕 來源: 51CTO
相關(guān)推薦

2016-03-22 10:32:53

移動·開發(fā)技術(shù)周刊

2018-04-19 11:20:03

人工智能虛擬助手面部識別

2018-07-05 17:25:18

2009-09-15 15:51:52

2016-03-10 10:07:22

設(shè)計首頁開發(fā)

2024-07-23 20:33:32

2013-10-16 16:03:10

虛擬化

2014-03-20 09:40:48

2018-08-07 08:36:54

pytestJavaScript微服務(wù)

2022-05-10 19:29:45

云安全DevOps云計算

2013-03-04 09:55:39

工程師軟件工程師

2021-11-30 15:18:04

大數(shù)據(jù)大數(shù)據(jù)技術(shù)

2015-12-09 14:37:30

2015-12-09 09:03:22

2016-03-22 10:35:05

移動·開發(fā)技術(shù)周刊

2019-12-10 11:03:57

工控安全惡意軟件ICS

2016-01-27 13:37:53

機器學(xué)習(xí)數(shù)據(jù)模型算法

2009-06-22 14:07:46

JSF優(yōu)勢

2019-12-09 15:39:06

工控安全技術(shù)資源網(wǎng)絡(luò)安全

2011-04-29 09:15:16

Servlet
點贊
收藏

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