色婷婷成人综合激情免费视频,2024中文日产幕无线,亚洲午夜福利精品久久,精品精品国产欧美在线,国产又色又爽又免费的刺激软件

logo 返回列表
如何成為一個(gè)優(yōu)秀的程序員?
2017-05-23 3947

今天的程序員/開發(fā)者有很多編程語(yǔ)言、開發(fā)工具和開發(fā)平臺(tái)可選,但是建立一個(gè)安全、可擴(kuò)展的環(huán)境卻變得難了很多;硬件和軟件正日新月異地變得更加復(fù)雜,但現(xiàn)在學(xué)習(xí)新技術(shù)比過去要難太多了。

那么在這個(gè)現(xiàn)代化的環(huán)境里,如何成為一個(gè)優(yōu)秀的程序員呢,以下是優(yōu)秀程序員應(yīng)當(dāng)具備的品質(zhì):

讀書

讀大量書將了解很多不同的技術(shù),讀書使你對(duì)一種技術(shù)有了快速、直接的視角。通常你應(yīng)當(dāng)選擇知名學(xué)者的書,他們推崇實(shí)踐和用技術(shù)解決問題的多種方法。在這個(gè)過程中,你將學(xué)到很多并逐漸形成自己的方法。沒準(zhǔn)哪天你也就能出書了呢。

 

語(yǔ)言和工具

任何程序員/開發(fā)者需要具備的第一個(gè)技能就是,能夠用編程語(yǔ)言工作并會(huì)使用與之相關(guān)的主要開發(fā)工具,包括:工具、IDEs, web 框架, messaging APIs

程序設(shè)計(jì)語(yǔ)言和方法

舉例來說,很好地理解面向?qū)ο?,這對(duì)使用強(qiáng)制式語(yǔ)言(Imperative Language也稱過程式語(yǔ)言)寫出可維護(hù)的代碼至關(guān)重要。在企業(yè)開發(fā)中你會(huì)遇到各種不同的問題,理解多種程序設(shè)計(jì)方法并知道何時(shí)使用,將使這些問題迎刃而解。

領(lǐng)域?qū)iL(zhǎng)的知識(shí)

如果想編寫系統(tǒng)來解決特定領(lǐng)域內(nèi)的問題,那么擁有該領(lǐng)域的專長(zhǎng)知識(shí)將非常重要。盡管許多這樣的知識(shí)是由項(xiàng)目的商業(yè)分析員(Business Analyst)來獲悉,但如果開發(fā)者也能獲取,那么跟用戶的交流將會(huì)更加容易,而且更能夠理解他們的專業(yè)詞匯。

實(shí)踐、實(shí)踐再實(shí)踐

許多開發(fā)者擁有大量理論知識(shí),他們飽覽書籍和技術(shù)資料。然而,怎樣運(yùn)用這些知識(shí)卻讓他們望而卻步。這是因?yàn)樗麄內(nèi)狈?shí)踐。你工作的效率和效力只能通過你實(shí)踐中編寫代碼來獲得。唯一能使你成為優(yōu)秀開發(fā)者的方法就是實(shí)踐、實(shí)踐再實(shí)踐。

 

解決問題

有能力解決那些沒有明顯解決方法的問題,這一點(diǎn)在軟件開發(fā)中很重要。當(dāng)把你的應(yīng)用配置到JBoss或者通過一個(gè)測(cè)試找到一個(gè)棘手bug的時(shí)候,理智地編程將成為調(diào)試一個(gè)類路徑(class path)問題。

人際關(guān)系

軟件開發(fā)中最重要的技能之一就是能夠與其他開發(fā)者一起高效工作——同事、質(zhì)量/商業(yè)分析員(Quality/Business Analysts),客戶,用戶,很多很多……如果你能夠很好地處理這些關(guān)系,那么成功的大路也離你不遠(yuǎn)矣。

溝通能力

在軟件世界中,人們通常認(rèn)為好的溝通能力就是流利地說話,事實(shí)上這遠(yuǎn)不是。這指的是:你能夠多么有效地與其他人交流。作為一名優(yōu)秀的開發(fā)者,你應(yīng)當(dāng)能夠很好地表達(dá)你的想法,很好地聽,以及很好地掌控你與他人溝通的過程。

遵循范例和最好的實(shí)踐

范例和實(shí)踐反映了技術(shù)指導(dǎo)、常見技術(shù)問題和基于真實(shí)事件的實(shí)踐。學(xué)習(xí)的過程是循序漸進(jìn)的,但是一勞永逸。這會(huì)節(jié)省你非常多的時(shí)間和精力,讓你的工作更加有效。遵循一本代碼編程指南Code Design Guideline),經(jīng)常使用代碼分析工具將檢測(cè)和分析你的代碼。

網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)知識(shí)

有人也許不贊成這點(diǎn),但是一個(gè)優(yōu)秀的開發(fā)者應(yīng)當(dāng)知道網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)的基本東西。而且在思考解決方法的時(shí)候,不要忘記將二者考慮在內(nèi)。擁有二者的知識(shí),能夠幫你寫出更好的代碼并節(jié)省你很多時(shí)間。

討論/小組溝通

參加開發(fā)社區(qū)會(huì)提高你的領(lǐng)導(dǎo)能力以及貢獻(xiàn)感,二者都是成功的必需品。在社區(qū)內(nèi)參加一場(chǎng)含量較高的技術(shù)討論將使你充滿成就感,而且會(huì)增長(zhǎng)你的知識(shí),因?yàn)槠渲械闹钦邥?huì)查看和評(píng)點(diǎn)你的解決方法,你也會(huì)查看和評(píng)點(diǎn)他們的。而且這個(gè)過程教會(huì)你接納并感激別人的建議。如果她/他做出了積極的貢獻(xiàn),不要忘了贊揚(yáng)和鼓勵(lì)。

博客、寫文章

我們中有誰(shuí)能夠記住每件事?我不能,所以我把他們記下來。當(dāng)我需要的時(shí)候,可以回頭翻閱參考。除此之外,我可以借此從讀者那里獲得反饋,讓我對(duì)同樣的問題收獲更多的方法。我已經(jīng)獲悉了許多與我工作有關(guān)的反饋,雖然有好有壞,但我會(huì)一一驗(yàn)證,這個(gè)過程也讓我受益匪淺。

像測(cè)試者一樣思考

開發(fā)者和測(cè)試者,來自兩個(gè)不同陣營(yíng)的兩類人群,隨時(shí)準(zhǔn)備同彼此較量。我發(fā)現(xiàn)二者的合作將產(chǎn)生非常好的結(jié)果。既不會(huì)損害開發(fā)者的利益也不會(huì)損害測(cè)試者的利益。實(shí)際上,長(zhǎng)期來看,像測(cè)試者一樣思考有利于減少你代碼的bug,而且會(huì)形成很好的編程習(xí)慣和思維。

堅(jiān)持一致是游戲規(guī)則

你是否經(jīng)常跳槽或者被你的薪水所打擊?如果是,那么靜坐下來放松下并重新規(guī)劃。好好想想不要讓你的決定天馬行空,為了不斷向前,你需要一個(gè)堅(jiān)實(shí)的決定并堅(jiān)持不懈。

KISS

不要想歪了,這里的KISS不是你想的那樣,是指讓應(yīng)用/方法直短、簡(jiǎn)單(Keep Implementations/Approaches Short and Simple的簡(jiǎn)寫)。不要使用行話來讓事情更加復(fù)雜,因?yàn)槿藗兒茈y理解它們。最好的方法是簡(jiǎn)化你的設(shè)計(jì)并避免過度設(shè)計(jì)(over-engineering)的東西。

參加技術(shù)研討會(huì)/大事件

如果你所在的城市有技術(shù)研討會(huì),一定要抽出時(shí)間參加。大部分的研討會(huì)是免費(fèi)的,而且會(huì)提供新技術(shù)的重要信息。

萬(wàn)家通吃還是一門獨(dú)大?

……這個(gè)問題不好回答。在現(xiàn)在的環(huán)境下,你必須掌握一種以上的技術(shù)。盡管這不容易,但是好的開發(fā)者還是能夠做到。其中的關(guān)鍵就在于適應(yīng)性:如果你精于某種技術(shù),那么給以機(jī)會(huì)你將較容易地在短期內(nèi)掌握一種新技術(shù)。你不妨試試,多掌握一種技術(shù)可以讓你在使用中對(duì)比、選擇。

是否軟件沒有做成,是否測(cè)試人員給你檢查出一堆bug?許多開發(fā)者的本能反應(yīng)是抵制情緒進(jìn)而非常抵制這種情況。由于這種情緒是自然反應(yīng)未經(jīng)控制,所以它不可取。靜心分析為什么軟件失敗、為什么有如此多bug,這是一個(gè)學(xué)習(xí)的經(jīng)歷將使你未來的工作受益良多。

最后,請(qǐng)記住你不是要永遠(yuǎn)做個(gè)程序員。所以一旦你自我滿足并覺得自己是個(gè)優(yōu)秀的程序員,你就得重新規(guī)劃你自己(re-program yourself)。擴(kuò)展你的興趣。開發(fā)只是這個(gè)過程的一部分,了解用戶和商業(yè)實(shí)際上是一種藝術(shù),每個(gè)人應(yīng)當(dāng)以此為目標(biāo)并努力掌握它。

相關(guān)推薦
微信掃一掃
微信掃一掃
關(guān)注公眾號(hào),了解更多資訊
聯(lián)系客服

微信掃碼聯(lián)系客服