久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3049|回復: 0
打印 上一主題 下一主題
收起左側

如何成為一個優秀的程序員(我醒了~)

[復制鏈接]
跳轉到指定樓層
樓主
ID:75926 發表于 2015-4-2 22:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
                                                                                                提要:軟件開發是一個“以人的智力為加工原料”的工程活動,在開發過程中會不斷的對智力和性格作研究。需要注意20/80原則,并不是最勤奮的才是最優秀的。編程的工作難以檢查,是否成為高手和個人性格有關。你無法改變智力,但可以改變性格。在軟件開發者的成長過程中,EQ還是占主要因素。
1. 聰明和謙遜
一個人越謙虛進步越快,承認自己的無知才會去正視和彌補自己的錯誤。理解程序需要通常很強的對細節把握和理解能力,這對程序員的智力有很大要求,但是很好的利用聰明要比你到底有多聰明要重要的多。有個程序員需要也需要謙虛,用謙虛去促進自己的智慧,使得自己更加聰明。這是軟件開發者的兩個基本素質要求,它們互相依賴促進,有時候也互相排斥,把握好自己的才智和謙虛就能更大程度提高能力。
也許某些事情很麻煩和困難,我們這時就需要使用一些方法去聰明的解決它們。比如:采用良好的程序風格便于理解、采用分解的辦法使復雜問題簡單化、多進行評審和測試,多和別人討論和關注軟件質量問題、盡量使用高度抽象的思維使問題一般化,提高重用率減少工作量、如果問題走進一個“死胡同”不妨和杯咖啡放松情緒,或和別人交談交流觀點,這是解決鉆牛角尖的好方法。
2. 好奇心
一旦你認為自己理解程序的能力是有限的,而且你意識到,進行有效編程是補償自己能力的方法時,你就開始了你職業生涯中漫長的探索過程。對技術的好奇很重要,否則你將在知識爆炸的時代迅速落伍。別在忙碌的工作或瑣事中,失去了對學術,自然和生活的好奇心和激情。我們可以在:
1 開發過程中建立自我意識。通過在開發中有意識的可以使用進行新技能的鍛煉,多對開發工程進行觀察,和學習其他解決方法,這樣就對整個項目有很強的把握能力,甚至可以帶領整個團隊走向更好的方向。如果你現在做的是市場前景很好的工作,那也意味著工作中的某些技術可能會很快被淘汰,注意保持好奇心和創造力。
2 實驗。了解編程的一個有效方法就是對編程和開發過程做實驗。你可以編寫一個程序并觀察它是如何工作的,調試器里跟蹤程序的執行把握它的特性。用個小程序去檢驗一個不太了解的概念,這對增進理解有非常大的幫助。或者用一個短程序,去試圖制造一些錯誤,通過錯誤去學習。錯誤不是罪過,沒有從錯誤中學到什么那才是罪過。
3 閱讀解決問題的有關方法。解決問題是軟件開發過程核心的活動。一個奇怪的現象:人們通常不能從自己面臨的問題找出解決的方法,即使這個方法很簡單。
4 行動前先做好分析和設計。盡管實踐和分析設計過程有很大的矛盾,但是好的分析會避免讓你過早走向一個錯誤的方向,好的設計可以避免混亂。
5 學習成功或失敗項目的開發經驗。學習編程的好方法是向一些優秀的程序員學習。應該要注重項目的戰略思想,把握項目中解決關鍵難點的戰術。任何成熟的科學,都是通過解決問題發展起來的。這些問題通常被看一些被良好解決的例子,并可為將來工作做指導。(這可能也是目前很多公司注重工作經驗的原因吧?)我們應該努力對別人工作存在的問題做研究,學習別人的無論成敗的解決辦法都是很有意義的。多拿自己的代碼和比你優秀人的代碼做比較,看看你們間有什么異同?為什么會有這樣的差異?誰的更好?為什么?也要多讓自己的代碼讓別人評價,這樣可以提高自己的程序質量。
6 閱讀手冊,書籍和期刊。手冊中往往對帶有些可以直接調用的子程序,這對我們研究和解決具體問題有很大幫助。書籍中往往是介紹系統理論,多閱讀可以提高專業能力;期刊中常常包含著流行的技術和觀點可以開闊眼界。
3. 誠實
編程生涯成熟的部分標志是堅持誠實。通常是:不假裝自己是高手、樂于承認錯誤、尊重編譯器的警告、對程序有清晰的了解,而不是編譯看其是否有錯、提高實際狀態報告、提供實際方案評估,在上級面前堅持自己的意見。你最好假裝自己知之甚少,聽別人的解釋,向他們學習,并且評估他們是否了解其正在討論的東西:)
你應該對自己能力做某種程度評估,認為自己完美是一個不妙的信號。錯誤正如潮流一樣是一個復雜的活動,如果你過去沒犯過錯誤,那么沒有人會將錯誤歸咎于你。所以正視自己的錯誤。當你并不了解程序時,編譯運行并不是解決問題的方法。測試是證明錯誤的存在,而不是保證沒有錯誤。如果不能深入理解程序,就不能深入測試。依據事實給出準確的狀態報告,不能欺騙自己和別人,這是充分合作的前提。不能因為壓力而否定符合規律的做法——這個項目需要10人月,要用5人月完成除非降低性能或其他做法——準確的向上司說明情況。
4. 交流與合作
真正優秀的程序員應學會怎樣和別人工作和娛樂。真正閱讀你寫出的程序是人,而不是給計算機——注意代碼的可讀性。絕多數高水平的程序員堅持自己代碼的可讀性,并抽出充足時間這么做。對程序員能力的界定標準:
1 初學者
是能使用一種語言基本能力的程序員,他能使用子程序、循環、條件語句或其他許多語言特征。
         2 中間者
             有使用許多語言的能力,并且至少非常熟悉某一種語言。
         3 專家
             對其語言或環境或這二者有很深的造詣。這種級別的程序員對公司是有價值的,而且有些程序員往往就停留在這個水平上。
         4 大師
             有著專家那樣的專業知識,并且意識到編程只是15%和計算機交流,其余85%是和人打交道。一般程序員只有30%時間或更少。而且大師注重給人看的清晰易懂的代碼,并注意建立有關文檔。
             不強調可讀性的高水平代碼者可能停留在級別3上面。并且根據經驗,編寫不可讀代碼的主要原因是:代碼質量差或是編寫者自己并不能完整地理解自己的代碼。當你知道自己的水平后,不必內疚和自愧。在你知道如何提高水平后,你倒應該為自己停留在初學者或專家水平上有多長時間而內疚。
5. 創造力和紀律
雖然一些有創造力的程序員將各種標準和約定視為對其創造力的阻礙,但是沒有這些約束項目實現是不可能的。不要在無關緊要的領域建立約定,應該在值得的地方發揮你的創造力。一個杰出的程序員需要遵守許多規則。如果編碼之前不分析需求就設計,那么你就學不到項目的許多東西,那樣工作就像小孩畫畫而不是藝術品。
6.   懶惰
懶惰的三種形式:1 拖延自己討厭的工作 2 迅速解決討厭的任務以擺脫任務 3 寫一個工具來完成討厭的工作解脫自己。當你不是透過玻璃看問題的時候,你就看到了懶惰的另一方面。“趕著做”是一種多余和沒有必要的“努力”。有效的工作最重要的現象是人們在思考種往往顯得冷靜而不忙。一個一直很忙碌的程序員不是好程序員,因為他并不是在使用對于他來說最有價值的工具和頭腦。
7.   并不是你想象中起作用的性格
堅持:這是一筆財富也是不利的條件。你可以稱它為頑固或者堅強,這完全取決于應用它的場合。在多數情況下,軟件開發的“堅持”就是頑固的意思!當你遇到新問題時候,你再固執己見并不是好事。你應該迅速適應它,或原方案并不起作用時,學會用另一種解決方法。調試中,當你發現一個困擾你4個小時之久的錯誤時,你一定感到非常滿意。但是實際上,如果你在一段時間——通常為15分鐘沒有取得任何進展時,你應該放棄找錯。用你的潛意識去思考問題,嘗試用別的方法解決問題,甚至重寫厭煩的代碼段。和計算機錯誤做斗爭時不明智的,你應該盡量避免它們。知道在時候需要放棄時困難的,但是必須面對一個問題:當你覺得自己受挫折時,是否考慮嘗試其他不同的方法。
         經驗:過于依賴經驗會導致知識的落伍。今天的經驗必須為明天的工作服務。如果不在過去經驗中去歸納總結出一些有價值的原則或規律并改變自己去適應它們,那么經驗也將一文不值。如果你的經驗還是停留在上一次戰斗而不是下一次,也不因時間做出應變,那么經驗更像是一個阻礙。此外,錯誤的經驗往往得不到客觀的評價。錯誤的經驗可以讓你得出重要的不同結論,學習其他人的錯誤經驗是一個好方法——你更可以對它做客觀的檢查。其他領域有成功經驗的專業人員往往使人放心,而在軟件開發中,知識更新迅速使得此領域中“經驗”處于一個奇怪的地位。為了使自己有所價值,你必須緊跟潮流,對于年輕求知欲旺盛的程序員在這點有優勢,而有些年老的程序員認為自己有所資格而厭倦一年接一年都要證實自己的能力。如果你已工作了10年,你得到了10年的經驗未必是真正的經驗——你如果堅持不斷地學習,你就能得到經驗,但如果你并不想學到什么,不管多少年你也學不到什么。
編程狂:如果你還沒有至少在一個相同的項目上花費一個月的時間——一天工作 16 個小時;為了發現你的程序中最后一個錯誤睡眠中你也念念不忘它,你接連幾天沒日沒夜地工作——即使你所編的程序并不復雜,那么你可能不會意識到編程中有某種令人興奮的東西。                               Edward Yourdon
這種對編程的癡迷純粹是胡鬧,并且幾乎注定要失敗。但是那些通宵程序員使你覺得他們是世界上最好的程序員,但是隨后你不得不花費幾周的時間來修正你在這短時間的輝煌中所帶來的錯誤,你可能對編程非常熱愛,但是你應能冷靜地處理這個問題。
8.   習慣
好的習慣起作用是由于你為一個程序員所作的大部分事情是你在無意識中所完成的。成為某方面好的或差的程序員,主要是靠你自己的所作所為。你所作所為習慣,決定了你的編程品行。最終,你的習慣好壞決定了你是否能成為一位好的程序員。當你開始學習某一件事時,你應按正確的方式學好它。當你開始學時,你已對其進行了思考,并且你可在正確或錯誤的途徑間作出輕易的選擇。在你作過一段時間后,你對你所作的不太注意,此時“習慣的力量”會開始起作用。確保起作用的習慣是你所希望的。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区三区在线 | 亚洲精品久 | 秋霞电影院午夜伦 | www.嫩草 | 久久天天躁狠狠躁夜夜躁2014 | 中文字幕日韩一区 | 日韩在线一区二区 | 中文字幕日韩欧美一区二区三区 | 国产欧美一区二区三区在线看 | 国产999精品久久久 午夜天堂精品久久久久 | 免费黄网站在线观看 | 欧美不卡网站 | 69性欧美高清影院 | 乱一性一乱一交一视频a∨ 色爱av | 91婷婷韩国欧美一区二区 | 国产精品爱久久久久久久 | 免费一区二区三区 | 久久久久亚洲精品 | 人人玩人人添人人澡欧美 | 亚洲精品一区二区三区在线 | 蜜桃av人人夜夜澡人人爽 | 亚洲日韩中文字幕一区 | 久久精品国产免费 | 日韩视频高清 | 91av入口| 91久久夜色精品国产网站 | 中文字幕欧美日韩一区 | 毛片免费看 | 精品欧美一区二区在线观看欧美熟 | 欧美在线视频免费 | 在线观看黄视频 | 国产黄色免费网站 | 日产精品久久久一区二区福利 | 国产精品久久久久久久7777 | 亚洲国产小视频 | 欧美2区 | 久久99精品久久久久久狂牛 | 免费同性女女aaa免费网站 | 亚洲免费视频播放 | 免费三级黄 | 网址黄 |