我個人有接三年的軟體開發經驗,也做過不少大中型的專案,嚐過成功的滋味,也體驗過失敗的痛苦,自己感覺還達不到高手的境界,和真正的高手還有不小的差距。要想提高自己首先不能滿足於現狀,我始終相信better enough is not better enough,要為自己樹立乙個更高的目標。有了目標還需要自己的不斷努力,個人認為要成為高手還需要遵循以下條款。
1. 紮實的基本功
離散數學、資料結構和演算法、作業系統、編譯原理等等,這些都是計算機專業最基本的課程。不要認為他們不重要,雖然這些書的內容更多的是一些理論性的東西,但參與實際的專案很多時候還是需要這些基礎知識來做支撐的。當然我們不能讀死書,如果你沒有編過什麼**也沒有實際的專案經驗,那麼你所學的這些知識永遠只會停留在書本上,你也不能跟深刻的理解這些知識的內涵。一些有過一定專案經驗的程式設計師可能經常會有「書到用時方恨少」的感覺,他們在個人能力的提公升中會遇到一些瓶頸,這些瓶頸正是由於基本功不紮實造成的。這時候再回過頭去學習那些基礎知識往往會覺得和當時的理解不太一樣,理解的角度也不僅僅只是停留在理論的層面上,而更多的是用自己的實際經驗來理解這些知識,碰到一本喜愛的書會有一種如魚得水的感覺,在讀書的過程中也會對一些問題恍然大悟。
2、多讀原始碼
程式每個人都能寫,如何能讓自己的程式寫的更好呢?個人覺得提高最快的方法就是多看別人的原始碼,當然,並不能什麼都看,我們需要有選擇的去看,看一些經典的原始碼。比如想研究作業系統的程式設計師可以深入的讀一讀linux早期版本的源**,想研究資料結構和演算法的可以仔細研讀stl庫或者boost庫。
讀原始碼一定要讀的細,要深入理解其中的涵義,要跟的上編寫者的思維,這樣久而久之你讀的這些東西都會成為你自己的東西,在實踐中得到應用。
3、多思考,多交流
程式設計師需要的不僅僅是coding,還需要大量的時間思考問題,有時候思考的時間甚至遠遠大於coding的時間。不要急於動手寫**,乙個新的專案需求,如果沒有進行足夠的分析和設計就動手寫**,後果可想而知。要給思考問題留足夠的時間,直到把需求分析透了,把編碼過程中可能遇到的問題都解決了,再開始編碼。另外多於別人交流,三人行必有我師,多問問別人對同一問題的看法會對你有很大的啟發。
4、良好的程式設計風格
養成良好的習慣,變數的命名規則要統一,**的縮排編排。大家都知道如何排除**中錯誤,卻往往忽視了對注釋的排錯。注釋是程式的乙個重要組成部分,它可以使你的**更容易理解,而如果**已經清楚地表達了你的思想,就不必再加注釋了,如果注釋和**不一致,那就更加糟糕。
這些是我這幾年程式設計師生涯的一點體會,希望能夠給大家有所幫助。 以上純屬個人觀點,如有不同見解,可持保留意見。
程式設計師如何提高自己?
前段時間,不知在哪個 上看到大概是諸如 程式設計師如何提高自己?感觸頗深。在此處,貼出來以告誡自己,要努力做到下述內容中的若干點,尤其是1 總帶一本書,不失為一件又雅又益的事情,俗話說的好 滴水可以穿石 每天看幾頁書,沒準,我也能成為master。1 總帶一本書 無論你花一年或者一周去讀一本書,這都...
關於程式設計師學習的一些想法
今天打算水一片文章 表達一下關於學習方面的的想法 新技術不斷的出現,幾乎每時每刻都有新技術的出現,而人的一生和精力是有限的,不可能將所有的技術都學完,那麼在每個人學習時間都相同的條件下,技術的高低也就是取決於學習效率了。或者說為什麼別人學的快,自己學到慢。在丟擲腦子方面的影響因素,其實大部分都取決與...
給想提高的ios程式設計師一些建意
2 學習官方的一些技術指南。比如你要系統的學習下autolayout 那你就看看 這裡各種技術模組指南首頁 4 關注和收藏一些適合你胃口的ios開發個人部落格,並且開始寫自己技術部落格。為什麼說是合適自己胃口啊?現實中畢竟學霸還是少數,學渣是多數。你關注的部落格太高層建瓴,超出了自己的理解和能力範圍...