-
1 # 紅雪資本
-
2 # ksfzhaohui
程式碼能力總的來看錶現在兩個方面:程式碼的設計和程式碼的效能;
1.程式碼的設計
小的方面講你需要遵循設計原則,以及各種設計模式;大的方面講整個系統需要合理的架構;
六大設計原則:單一原則,里氏替換原則,依賴倒置原則,介面隔離,迪米特原則,開閉原則;
設計模式:包括23種設計模式包括:單例,工廠,組合模式等等;
架構:架構要講的東西太多了,我個人覺得最重要的是根據自己的專案選擇合適的架構,沒有一種架構適用所有專案;所以這個就需要你瞭解各種元件的優缺點,比如是用rpc還是mq,用本地快取還是分散式快取,用什麼資料庫,mq也有很多種該選擇哪個等等,所有的這些都需要有豐富的使用經驗,進行擇優選擇;
2.程式碼的效能
小的方面講你需要了解資料結構,每種結構的使用場景;另外其實我們往往使用的是一些封裝好的資料結構,所以你需要去看原始碼,瞭解其實現機制,這樣才能寫出高效能的程式碼;
大的方面講如果提高整個系統的效能,比如同步轉非同步,快取機制,資料庫最佳化等等
最後說一點就是多去看優秀專案的原始碼,會潛移默化的提升你的能力
-
3 # IT人劉俊明
作為一名IT行業的從業者,同時也是一名教育工作者,我來回答一下這個問題。
首先,對於程式設計師來說,程式碼編寫能力必然會經歷多次的上升瓶頸期,每一個瓶頸期都需要有不同的解決方案。
對於初級程式設計師來說,要想突破自身的程式碼編寫能力從而成長為主力程式設計師,需要從三個方面入手,其一是注重開發知識的全面性;其二是注重各種開發模式的掌握;其三是注重開發工具的運用。對於大部分初級程式設計師來說,成長為主力程式設計師往往只是時間的問題,通常能夠勇於承擔新任務的程式設計師會獲得更快的發展速度。
對於主力程式設計師來說,如果想進一步提升自己的編碼能力,則需要選擇一個自己的主攻方向,有了主攻方向才能不斷深入相應的技術體系。在技術方向的選擇上既應該考慮到崗位任務的需求,同時也要考慮到未來的發展趨勢。從目前IT行業的技術發展趨勢來看,大資料、雲計算、人工智慧、區塊鏈等技術方向都是不錯的選擇,而且這些方向下面也有很多細分的方向,可以根據自身的實際情況進行選擇。
在突破程式碼編寫瓶頸的過程中,應該多與技術專家進行交流,交流的過程也是學習的過程,而如果有條件讀研,透過讀研來突破程式碼能力也是一個不錯的選擇。程式碼編寫問題說到底就是數學問題,所以要想能夠不斷提升自身的程式碼編寫能力,一定要注重數學知識的學習。
最後,自身所處的開發團隊對於程式設計師能否不斷突破編碼瓶頸也有比較直接的影響,所以程式設計師應該注重開發團隊的選擇。
-
4 # 程式猿有話說
提高程式碼能力無怪乎多看,多聽,多寫。多看大神的開源專案原始碼,看看大神是怎麼寫程式碼的。多聽周圍同事的建議和思路,集思廣益。多寫程式碼並不是瞎寫,要寫完後不斷最佳化,從不同角度寫,並測試效率。寫的再好看,效率低等於個零。比如用遞迴實現,了了幾行,但效率極低,不如用棧,雖然程式碼量上去了,但效率高啊。
-
5 # JAVA程式設計師
程式碼能力遇到瓶頸的話,你要和其它人比較一下,你的水平處在整個行業的哪個階段,如果是初級階段的話,說明你的能力還有很大提升,那麼就要多看其他人的優質程式碼,多看原始碼,或者透過一些書籍學習怎麼寫出好的程式碼,對於優質程式碼要詢問別人為什麼這麼寫,有什麼好處或優點,這樣才能才能突破自己的瓶頸。
如果你的水平已經到達中級的水準,說明你的程式碼寫的比較優質了,你可以學習下設計模式,要知道每個設計模式使用的場景是什麼,每個設計模式使用的時候有什麼優點和缺點,為什麼要使用這種設計模式,你在寫程式碼的時候有沒有用過這種設計模式,要理解到設計思想的精髓,你可以用學到的思想把自己專案中的程式碼重構下,證明自己確實學到了,學會了。
如果你已經到了高階開發的階段了,程式碼層面可能確實到極限了,你可以學習下架構的設計,你的專案用到了什麼框架,這種框架的優勢在哪裡,有沒有可替代性,有沒有成本更低的框架選擇,擴充套件性怎麼樣,是否高可用等等,要學習的東西有很多,只要用心學習總能學習到心的東西,提升自己的價值,提高在公司的地位。
-
6 # NC少年
心態上放輕鬆,瓶頸期很正常不過,其次就是堅持,過了這個瓶頸期就是進步。方法論上,我個人覺得有兩條路。一是自我主動提升,被動反饋,二是找高手請教,主動反饋。
所有的能力提升,方法都是相通的。任何技術在學會之前都感覺很難,學會之後感覺很簡單,難者不會,會者不難。在不會之前,尤其是瓶頸期,會讓很多人放棄。
觀摩別人以我學游泳為例,蛙泳很簡單很快,一兩個月可以入門。但學自由泳時,遇到了各種瓶頸,陸陸續近一年才遊得有點樣子,終於學會呼吸。中間過程是在泳池裡各種喝水,卡在呼吸上。最終是透過觀看各種影片,琢磨才慢慢會呼吸。
程式碼能力也一樣,觀摩別人的程式碼,尤其是自己領域高手的程式碼,以java為例,看看openjdk的原始碼,比如hashmap的設計,從陣列到連結串列到紅黑樹。要去琢磨為什麼這樣設計。java的原始碼,可以認為是經過千錘百煉的。
點評: 學習並思考專家的原始碼,千錘百煉的程式碼,值得向書法一樣反覆臨摹。
專家反饋現在想來,可能當時請個專業教練指導下,可能游泳不會學得這麼辛苦。教練可能一眼就能發現你的問題在哪裡。
程式設計也一樣。把你的程式碼,讓專家review下,高水平專家的反饋,再加上自己的練習,能讓你的程式碼水準快速上一個階梯。能讓你少走很多彎路。
點評: 有點像深度學習,從預訓練的模型學習很快就能收斂,而從頭學可能要很久很久。預訓練的模型,就是專家的反饋。
-
7 # 仁見人愛
就如三年前,自我感覺良好。知識每天重複,業務每天重複。第一次覺得,搞程式碼,搞工程也就這樣。
直到我開啟教學視屏,翻開書,點開專業網站。找各種行業,各種能力的人對比,交流。才發現,什麼叫井底之蛙,知識窮盡一生,也未必學得完。
所謂瓶頸,往往是自己的眼見在限制。走出去,站在不同角度,不同領域多思考,就什麼都開闊了。
回覆列表
做任何一件事都會有瓶頸期,所謂的瓶頸期有兩個方面,一是評你個人的經驗和知識水平達到了一個水準,在一段時間內無法得到提高,這種情況你還要不斷學習創新,等積累到一定程度,即所謂的量變到質變的轉換。另一方面就是你的能力和天賦已經到最大,不是你不努力,而是先天基因已經決定。