回覆列表
  • 1 # 漢字說文之澄衷蒙

    不想當將軍計程車兵不是好士兵。

    寫程式只是起步,要明白架構,不要沉湎於程式碼的結構,呼叫,更重要的是架構。

    其實程式發展這麼久,不外乎輸入輸出,操作各種邏輯,其實設計程式的人,或者需求的人才是真正的使用者,鑽程式碼沒前途。

  • 2 # HeloneTech

    如果是小白的話建議找個教學影片來入門,直接看書容易放棄。其次找一些工程專案來練手,不要停留在書本上的小實驗上。程式設計就是多做專案,一方面鍛鍊程式設計能力,另一方面鍛鍊專案綜合能力。說白了程式語言只是一個工具,會用工具是一回事,能用工具靈活解決問題是另一回事。

    程式語言入門之後,可以去學習java相關的框架,內容還是挺多的,現在企業做專案都是基於某種框架來做,開發速度快,不會基於Java寫原始碼,避免重複造輪子。所以框架也是一個工具,只不過是它是基於Java的。

    之後就開始練習大型專案,一個優秀的工程師就是在實踐中成長起來的。這個過程很艱辛,要有足夠的毅力,自制力和韌性。

  • 3 # Web話匣子

    小白的話,建議還是看些入門影片,如果有人帶就更好了。實踐才是檢驗標準的唯一準則,自己的侷限也不要太小,自己去買些教材,做些難度稍微大一點點的,不要怕自己做不到,小專案前期做做就好。

  • 4 # 明明如月學長

    作為一個學了多年Java(不代表工作了多年)在國內一線網際網路公司,工作一年左右的程式設計師,談談我的看法。

    成為優秀的Java程式設計師的條件

    我認為成為優秀程式設計師的條件主要是:天賦、良好的習慣、嚴格的要求、極高的興趣和求知慾,強大的自學能力等。

    並沒有一套教材可以準確地讓你三年就可以成為一個優秀的Java程式設計師,因為成為優秀的Java程式設計師,不僅是外在的條件,更多的是內在的天賦和興趣以及學習能力。而這種天賦,興趣或者習慣,恰恰是很多程式設計師不具備的。

    對於大多數專業和行業而言,真正優秀的一般都是最有天賦的,聰明的一批人,另外是善於思考並有濃厚興趣和強大自學能力的人。

    我的建議

    一、入門階段

    入門階段看影片為主,看書為輔,嚴格要求自己。

    嚴格遵守程式碼規範,養成好的程式設計習慣。可參考《阿里巴巴Java程式設計規範》,建議買一份紙質的,雖然貴了一些,但是提醒自己用心多看。

    學習的時候電腦上備著一份API手冊,隨時查閱。

    充分利用搜索引擎:谷歌、百度、必應等。

    可以加入一些靠譜的Java學習群和一些比自己更優秀的人交流。

    要有精益求精的精神。如果可以最佳化儘量去最佳化程式碼。

    實踐出真知,如果看學習影片一定至少自己敲一遍。

    到的問題一定要記錄下來,可以記錄到印象筆記、有道雲筆記、為知筆記等,以後再遇到類似問題很容易找到之前的解決方案。也可以透過CSDN等平臺採用部落格的形式記錄。

    制定學習計劃和目標,多久掌握某某框架,一年之後、兩年之後要達到什麼程度等等。

    心態上非常重要,不要被“覺得挺難”嚇倒。等等

    二、進階階段

    看書為主,看影片為輔。深入理解專業基礎,深入學習進階的知識,具體看後端的技術圖譜(虛擬機器,多執行緒,高併發等等),這裡就不展開了。學習一些最佳實踐,比如重構、可維護性這一塊。善於思考。思考是進階必備的能力,優秀的程式設計師更善於思考,更容易瞭解問題的本質,能夠對書本知識學以致用,而不是調包俠。多看原始碼。透過讀原始碼,可以學習優秀的開源專案的原理,可以瞭解一些好的實現方式,提高自己的編碼水平。

    另外優秀的Java程式設計師不僅要懂技術,還要懂業務。

    要能夠準確快速理解需求,並有較強的抽象能力,有紮實的計算機基礎,程式碼的可維護性和健壯性都很強,並且有思考問題本質的能力等。

  • 5 # 千鋒青島

    程式設計師很多,能夠成為行業裡面的“大牛”程式設計師的卻比較少,但是透過自己的努力成為一名優秀的程式設計師還是有不少人做到了,相信大家也都知道,優秀的程式設計師可以編寫出特別的功能、網站、應用程式等等,那麼優秀的程式設計師們都有哪些共同特點呢?

    基礎知識是每位程式設計師都掌握了的,但是優秀的程式設計師不僅將這些基礎的知識瞭如指掌,還將這些知識的原理了然於胸,在這個基礎上,他們在發揮自己想象力和創造力,提出突破性的想法。

    任何行業都像是金字塔一樣,有一個很大的底部,但是越往上越小,程式設計行業也是如此,程式設計知識也是如此,也就是說,不管是向成為技術大牛,還是想要突破目前自己的技術水平,都是從底部開始的。

    想要成為一名優秀的程式設計師,就不能“只知其然而不知其所以然”。因此學習計算科學,並有一定的瞭解和認知,學會了這些,就可以別其他人站在更高的位置上去看待問題,知道計算機為什麼這樣執行,可以幫助你增強上下文知識,成為一名更有見識的程式設計師,在編寫程式碼時也能夠考慮到更多的問題,從而使自己所編寫的程式碼更加的優質。

    大部分的時候,當我們的技術進入瓶頸期或者是已經進步比較緩慢的時候,大家了能會更加傾向於選擇透過比較“有趣”的方式來幫助自己進步,這其實也是一個誤區。這個時候如果從基礎開始查缺補漏,會讓自己的進步變得更快,真正掌握了基礎知識的程式設計師才能對自己編寫的程式充滿信心,因為他們知道選擇這麼寫的“方式”和“原因”,這可以改進他們的工作並提升在周圍人中的信服力。

    還有就是,紮實的基礎知識可以讓自己在學習新的語言和技術時變得更加容易,因為花時間真正理解一種語言的核心概念,如迭代、遞迴和抽象,將有助於學習另一種語言。因此掌握了基本知識,就會有很多收穫,幾乎沒有什麼損失。

    掌握好了基礎知識之後,在需要提升的就是自己解決問題的能力了,程式設計其實就是解決問題,能夠高效的解決問題,才是被大家需要的人才。

    有出色的問題解決能力的程式設計師會將問題的本質提煉出來,以便確定他們的總體目標,並有目的地開始解決一個問題。然後,他們將每個問題分解成小的、可控制的部分,並依次將每個部分做同樣的處理,有時還可以透過繪製導圖使其實現視覺化。

    簡單的來說,想要成為一名優秀的程式設計師,就必須能夠將基礎知識“吃透”,並並確切地知道自己所寫的程式碼中發生了什麼以及為什麼會發生,還需要培養出高效地解決問題的能力。

  • 6 # Java架構師追風

    分享以下4個小結。希望可以作為參考。

    1.程式碼能力

    程式碼能力是基本功,Java語言本身,包括語言的各個方面包括對併發的理解,對記憶體使用對理解,對Java運維的理解等等,語言本身外,社群裡常用的框架是否可以十分清晰的瞭解,包括spring,包括他實現的ioc,aop,orm,web機制是否有清楚的認識,有豐富的經驗等等。

    2.對常用中介軟體的理解

    畢竟在一個大系統中,各種中介軟體是是否常見的,快取中介軟體,訊息中介軟體,例如 redis、memcache、rmq這些,要理解常用中介軟體使用場景,使用姿勢(例如redis的常用命令),甚至包括他的一些運維,一旦出了問題,除了專門的運維人員,也需要你參與問題的排查,因為有時候這些中介軟體出現問題,是不當的使用姿勢引起的。

    3.架構、業務落地能力

    前面提到了語言本身,各種中介軟體,如果你有很好的業務抽象能力和架構思維,就可以把一款部門內部產品很好的設計並實施了,這點蠻難的,想必都有過接手現有專案的經歷吧,有時候真恨不得把之前的設計者拿出來批鬥,作為一個設計者,你能否做到當下一個接手它的人會說一句,這個系統設計的真好,穩定又可拓展,理解起來也很容易。

    4.溝通協作

    畢竟一個部門內部產品,是不可能由一個人完成的,所以需要溝通協作,把設計好的方案,要和2-3個小夥伴一起實施,包括同樣身份的後端人員,前端人員,產品等角色,這個級別的人可能會參與帶2-3個人,例如應屆畢業等,所以你自己對知識的把握,分享精神,leadership都是很好的加分項。

    框架原始碼思維導圖

    分散式架構思維導圖

    效能調優思維導圖

    併發程式設計思維導圖

    微服務思維導圖

    最後,喜歡大家都能達到自己目標。

  • 中秋節和大豐收的關聯?
  • 外媒稱國安外援索里亞諾賽季末離隊,31場打進25球卻仍無法留隊,對此你怎麼看?