首頁>Club>
4
回覆列表
  • 1 # 極客架構

    第一,首先把基礎學好。

    第二,進行產品實戰。平常寫例子與產品實戰截然不同。產品中考慮更多設計問題。

    第三,進行部分原始碼分析,總結優秀的程式是怎樣設計,開發。這個個人推薦Spring

    第四,程式碼寫的好與不好,最重要的是是前期設計,要學習統一建模語言uml,在程式碼前,把設計做好。這樣寫程式碼時就不會迷茫,要不然就會出現一些重複程式碼或是設計做的不好,多謝程式碼。

    第五,就是設計模式,這已經超過語言本身了。

    第六,就是深入淺出瞭解JAVA原始碼,相應的資料結構,設計,JVM等。

    總結

    學好一門程式設計需要,需要很長時間才能深入,必須耐心。尤其是,現在更加建議垂直方向發展。當時間長了,學習其他語言,就不需要太費事,主要都是語法問題。因為,程式語言,設計模式就那些種,主要是應用場景不一致,

    一定要保持學習最新知識的激情,也許當下沒用,但長遠來看一定是有幫助。會開拓視野。

  • 2 # 成謎吃瓜的少年

    java作為一門語言一門手藝,它是程式設計的工具,倒沒有什麼特別學習的技巧。最好的方法就是使用它。這8個小建議對你應該會有幫助。

    1. 瞭解自己的學習風格

    每個人都有屬於自己的學習風格。有些人喜歡透過讀書來獲取知識,有些人則需要親自動手才能記得牢,還有一些人希望透過老師講課來手把手地教育他們。幸運的是,我們這個時代有許許多多免費或廉價的學習資源,你只需要上網搜尋一下就能找到。這樣,你就不必浪費時間在不適合自己的學習方法上。這裡有一些不錯的程式設計學習網站供您參考:

    LiveEdu (程式設計界的 Bilibili,許多大神喜歡在上面分享程式設計專案直播影片)

    Code School (全英文程式設計教育網站)

    Lynda.com (領英旗下的線上教育網站)

    Coursera (世界名校公開課彙總,譬如耶魯和斯坦福大學)

    Free programming books (Github 上有一些免費的程式設計書)

    2. 三人行,則必有我師

    提高技能最快的方法之一是:向那些行業前輩討教知識和經驗。如果您恰巧擁有一名正式的導師,那真是再好不過,但這並不是必需的。有多種多樣的方式可以獲得行業專家的指教:和您的團隊主管聊聊天、和當地程式設計師進行線下聚會或在 Stack Overflow 上提問。在這些場合,您可以大膽展示自己寫的程式碼,並讓他們給出一些評價和建議。不要對批評存有畏懼心理,也不要覺得自己可能會打擾到別人的生活。事實上,很多人都樂意與別人探討一些自己所擅長的專業問題,提供這方面的幫助會令他們很有成就感。如果你因為心理上的壓力而不去請教別人,那麼你就錯過了一個提升技能的寶貴機會。

    3. 牢記 15 分鐘法則

    如果你在一個問題上糾結超過 15 分鐘,請馬上尋求援助!先暫時放下手頭的工作,向同事問問有沒有解決問題的捷徑,或者在知乎這樣的網站上詳細描述自己所遇到的麻煩。無論向誰尋求幫助,你都需要冷靜下來,以客觀中立的語氣去描述問題,不要感情用事。這樣會使得你離解決問題更進一步。就大多數情況而言,往往在你遇到這些問題之前,別人早已碰到過了。很多熱心人士會和你分享他們是如何解決這些麻煩的,或是協助你共同攻克難題。

    4. 接觸一些實際專案

    有什麼能夠保證進步的方法嗎?那就是練習並不斷挑戰自我。這意味著你應該主動建立屬於自己的程式設計專案。即使你有一份全職的程式設計工作,這項工作可能還不夠具備挑戰性,這樣的話單憑工作進步會很慢。因此,請主動去迎接挑戰。許多優秀的程式設計師在本職工作之外,通常還會建立一些自己的小專案。請不要說自己缺乏好點子,那並不是一個合理的理由。您可以去 Github 上找一個開源專案,然後定期提交程式碼;或是在 LiveEdu 這樣的網站上進行專案開發直播,譬如新手如何開發一個安卓 App;您也可以讓產品經理們向你滔滔不絕地講述他們一些稀奇古怪的想法 -- 好點子千千萬,總有一款適合您。

    5. 看看底層原始碼

    大多數程式設計師嚴重依賴諸如 Spring、Rails 或 Angular 等框架來完成工作。這些框架提高了生產效率,但它們也為您設計解決方案提供了許多範例和靈感。檢視它們的原始碼並仔細研究。起初,您可能會感到迷茫,但隨著時間的推移,您將會掌握如何瀏覽大型程式碼庫、識別設計模式並快速理解程式碼。

    6. 分享所學的知識

    有句老話說得好,教授別人是最好的學習方式。當您學到些新知識時,不要吝於分享。您可以將自己的心得通過錄制影片教程、撰寫博文、或是向 Github 程式碼庫提交原始碼等方式來展示自己。甚至你可以通過當地的線下聚會來結識一些程式設計師大牛。分享不僅能夠強化你對所學知識的印象,還能夠向未來的僱主和客戶展示你的技能。而且,這還會讓你獲得更多的自信!

    7. 每天進步一點點

    沒有人能在一夜之間掌握程式設計。持之以恆的刻意練習是從碼農進化為碼神的不二秘訣。花幾分鐘時間從繁忙的事務中抽身出來,每天做一個小改進。你可以利用這幾分鐘學習一種新的語言特性、從手冊中瀏覽一頁、或是更改您的編輯器配置以新增常見任務的快捷方式。隨著日積月累,這些小的日常改進就會由量變引發質變,帶來飛躍性進步。

    8. 保持探索精神

    不要沉溺於工作,每週也應當休息休息,探索新語言、新技術和對世界產生影響的重大事件。知識和技能並不是無源之水。尋找兩到三個新的資訊來源,以定期挖掘靈感。在 Twitter 上如果遇到欣賞的程式設計師,就關注他們吧。每天或每週瀏覽 IT 新聞、訂閱相關雜誌。這些都有助於你享受程式設計帶來的樂趣。

    寫在最後:java就像你寫作需要學寫字,你說寫字能有什麼學習技巧嘛,只要多寫就好了。程式設計也一樣,多敲敲。遇到什麼不懂的類和方法就bd、Google。瞭解這些差不多也就入門了。之後的設計方法設計模式演算法這些就需要在實踐中慢慢學了。

  • 3 # 大巖不燦

    基於之前所瞭解到的,提高技能與能力的最有效的方法(不光是程式開發領域)來回答一下這個問題吧。其實這也是學習任何知識、技術的一攬子解決方案。

    我們先來介紹下「Deliberate Practice」(刻意練習)這個概念,它最早由美國心理學家安德斯•艾利克森博士提出:

    1. 刻意練習,是“一萬小時定律”的加強版本。我始終深深記得,我進入職場的第一個boss跟我說的一句話——“你要明白你工作兩年後,你是有了兩年的工作經驗,還是一個經驗學了兩年。” 事實上,變成高手與你練習這門手藝時間上的花費並不是完全正相關,不是說你時間花的越多,越接近高手。當然時間有一定的作用,但是訓練的方法更是尤為重要。

    2. 但是上面我所說的並不是不需要花時間練習這門手藝了。練習的目的就是將完成一個動作(也可以是做某一種工作)的較長腦回路變成一個更短的腦回路。用現在流行的機器學習中的概念比喻就是,透過不斷的訓練資料的輸入,優化出神經元個數更少,模型複雜度更低,而不影響模型正確率的新模型。用大腦的執行機制解釋就是,將冷認知(好比你剛學會投籃,投籃時還要回憶各種技術動作),轉化成熱認知(好比NBA球員投籃的時候,不經過思考就出手了)。

    接下來是重點: 3. 在做一件事情,或者完成一個工作,或者學習一個技能時,我們都可能處在“舒適區”、“恐慌區”以及“學習區”其中之一 (你回憶一下是不是這樣 :P) 舒適區:這件事我經常做,十分熟練,很難失手 恐慌區:從未乾過這件事,俗話說的懵逼臉,不知從何下手 學習區:介於上兩者之間,不是完全沒有頭緒,但是要經過一系列探索才能完成

    4. 在舒適區幹再多活,對你這項技術的提升幫助很有限,因為熱認知已經形成(用機器學習的概念就是,模型都收斂了,你再喂資料也沒什麼卵用) 而在恐慌區練習,第一容易摧毀自己的信心,感覺自己做啥啥不行,幹啥啥不會;最關鍵的還是無法形成有效反饋,去修正自己具體的技術細節(用機器學習的概念就是,步長太大,永遠無法收斂了)

    5.所以結論得出了,我們需要在學習區中不斷練習,也就是刻意練習——不斷在學習區for迴圈(得到反饋,修正技術動作),才能讓自己某方面的技術,快速提升。

    根據題主的情況,結合我個人經驗,給題主提供如下建議: 俗話說的好:大部分的自律都是不同形式的他律 自己主動跨出舒適區到學習區是會有些許不適,所以我建議被動跨出這一步 當公司有新專案,或者新任務,主動承擔下來,讓公司逼你走出第一步,被動的在學習區也是一種選擇。 如果沒有這種機會,可以給自己設立一些,與公司專案相關的,最佳化公司專案的課題,邊學邊做;這樣不但可能幫助公司最佳化專案,更能幫助自己停留在學習區,反饋進步~

    希望這些對你有用

  • 中秋節和大豐收的關聯?
  • 紅米手機進水後開機振動後還是黑屏是什麼問題?