作為菜鳥,怎麼提升編程內力?


從事JAVA開發有些日子了,很喜歡這個行業!說下自己的愚見吧!

每個人都是從菜鳥到老鳥的!關鍵是看你變成老鳥的時候是飛在天上,還是走在地上!

我覺得編程20%天賦,30%興趣,50努力!

天賦:不是每個人都適合做編程,如果以前努力學了數學,物理,卻總是考不及格,那我建議你別來編程,因為你的邏輯能力,計算能力可能略微欠缺,你掌握編程的時間也會比別人多出很多!也許你的大腦適合藝術等創造的行業!我以前的一個同事,執著於做後端開發,堅持了三年還是放棄了,結果轉了頁面設計,發現自己如魚得水!

興趣:沒有一顆熱愛編程的心,你可能承受不住軟體設計的時候的錯綜複雜!你可能承受不住產品經理的喋喋不休!你可能承受不住老闆們的無端指責!你可能承受不住測試的不斷打擾!編程要面對的很多,一顆堅定保持激情的心,是你堅持的不二真章!

努力:如果你既有天賦又有興趣,你還是需要不斷的努力,不斷提升自己,才能比別人走的順利!

我是一個邏輯能力不是特別好,文科見長,卻因為現實找工作原因,走上技術開發道路的人!我還沒有成功,但是付出了很多努力!

作為菜鳥,怎麼提升呢?

1,打好基礎:需要知道計算機基礎(寄存器,多核),計算機運行原理,需要掌握基本的數據類型,和在內存中的佔用空間,各種排序演算法,查找演算法,插入演算法,面向對象思想,軟體設計思想,資料庫設計思想等等!

2,以小見大:synchronize關鍵字都知道是加鎖,怎麼加鎖?加鎖怎麼保證先來後到,數據安全,指令重排序是啥?為什麼指令重排序提升效率,但會引起數據安全問題?

3,大而化小:掌握編程的本質,比如消息中間件,無外乎就是事先約定,生產者生產,消息中間件接收,落庫,發送,消費者消費!

4,源碼學習:從spring,mybatis,mycat,druid等大量框架學習設計模式,學習如何代理,如何版本不斷迭代能向下兼容,學習別人的編碼技巧!

5,自己動手,豐衣足食:看十行代碼不如寫一行代碼,你看了再多的優秀源碼,如果不動手自己做,永遠不能掌握其精髓,只有不斷的犯錯才能不斷的避免錯誤!

6,設計模式:JAVA開發的都知道,一共有二十幾種設計模式,要根據不同的場景學會選擇,重構不同的設計模式,多學多練設計模式,能在平時的工作中常用十來種對你的編碼能力還有很大的幫助!你不學設計模式和重構,你的代碼永遠是別人看不懂,自己過段時間也看不懂!

7,掌握行業動態:編程真的是很令人煩躁,而有讓人期待的行業,因為每天都有新技術,新框架誕生,學不完,吃不透!但是新的技術,比如java9.10,scala,kotlin,區塊鏈這些技術還是需要去經常了解,指不定什麼時候就變成了你吃飯的傢伙!

8,提升業務能力:編程的唯一目的就是解決業務,如果你對業務掌握不通,你就沒辦法很好的實現,哪怕你是一個編程大神,你也需要依託於強大的業務理解能力,才能有強大的技術轉化能力!

9,軟體設計:多使用erp畫畫資料庫關係圖,多使用rose設計軟體結構,多使用敏捷開發來提升效率,使用流程圖,書寫偽代碼來提升軟體的健壯性!

10,成為全棧工程師:從ui設計,前端開發,伺服器開發,架構選擇,資料庫開發,流程圖設計,工作流設計,測試代碼等等!

11,成為架構師:你什麼都會不一定成架構師,但是你什麼都會才有可能成為架構師,架構師的要求很高,編程能力強,業務轉化能力強,解決問題的能力強,新技術學習能力強,成為一個架構師應該是每個編程人員的夢想!

洋洋洒洒寫了很多,不只為了給新手一點鼓勵,也讓自己更加的堅定,畢竟編程的道路還是很艱難的!


作為菜鳥,怎麼提升編程內力?

用一句大實話概括:理論+實踐。

理論是我們需要學習的基礎,比如在編程中的核心知識,以Java為例,並發編程、分散式等等知識都是屬於理論層面。

實踐如同你所說,這些開源項目框架就屬於實踐部分,通過研究經典開源項目框架來學習它們實踐的思想,這樣才能提高實踐部分。

結合多年的面試題來看,現在在面試的層面上,都是理論+實踐的形式。先來一套理論上面的面試,看看你這個人對技術的掌握怎麼樣?然後在進行具體的經典開源項目或者項目實戰中的來考察,這個就是理論+實踐。

當然技術的提高不是一朝一夕,需要持久的堅持學習。

設計模式屬於一套經典的情景設計方案。當然在具備一定的基礎之後進行學習。可以說是通往架構師必學的內容。

優秀的開源框架可以豐富知識的廣度,同樣值得學習。

碼字不易,感謝各位關注&點贊。祝各位技術更上一層樓,早日進BAT。


你就是看100遍、10000遍也沒用。

紙上得來終覺淺,絕知此事要躬行。

一定要充分參與實際項目中,遇到問題一定要分析問題原因,在找出解決辦法,不要一味想著逃避問題、繞過問題,當你再解決問題的過程中,你不僅在積累新的知識點,你還在積累分析問題的原因,積累常見問題的方法。

這才是你應該有的成長意識


推薦閱讀:

Struts2複習之Struts2文件上傳和下載
AI 晶元,邊緣計算之魂
如何學習TFTP服務配置的詳細過程
AutoCAD小秘密-026:點雲,讓密集恐懼症無路可逃-上

TAG:設計模式 | 科技 |