新人程式設計師或實習生如何快速入門乙個新的專案

2021-10-05 21:05:40 字數 1104 閱讀 9740

凡事欲成,心中有數。掌握了方**,有了核心思想和目標,效率才可以上來,不會走彎路。所以,我先講一下專案入手的方**,心態吧。如下:

心態調整:真正好的**是自解釋的,那些看似高深的**,大部分都是人家寫的不夠好,不是你不行。同時,專案入手,必定是個循序漸進的過程,不要操之過急。

心態調整2:不要以追求完美的心態去接手專案,剛剛接手初期不要試圖搞懂整個專案。時間緊張的情況下,過去的功能已經完成了,需要修改該功能時,你才需要讀過去的**,方便修改。

抓住主幹,逐漸擴充套件:先找到主函式或者主thread,沒必要深入每個函式,初步了解專案的大概流程即可。(通用程式的核心功能都是由增刪改查組成然後通過通訊、運算和人機互動串起來的,系統的複雜度主要體現在系統規模、效能、穩定性、業務流程、通訊等方面)

由點到面:從小部分切入,然後擴充套件到整個專案。和上面說的主幹一樣,了解了入口之後,不可避免的要走入某條分支,你只要先抓住一點即可。

ide的技巧使用:善用find all,或者ctags,看看他們是怎麼連起來的。

深入理解**前,先跑起來,自己操作一遍。

提問方式引導自己去看文件,心裡有個大概的概念先:先搞清楚新的系統是搞什麼的,就問簡單幾個問題,誰在用這個系統?用這個系統做什麼?然後自己根據這些問題去文件找答案。

由架構層面了解專案的大體實現,就像是軟體工程開發的第三步:詳細設計。弄清楚系統是怎麼分層、分模組的,每層、每個模組都用到了什麼技術和框架,之間是怎麼通訊的。這一步還不用深入到底層,到每乙個類的實現。此時的entity,dao都不用怎麼具體看實現,只要抓住大體架構就好了。這一步最好能把類圖畫出來。

找到乙個自己熟悉的功能,看看這個專案是怎麼實現的,這一步就是深入**了。走一遍流程,基本上是初步搞懂了實現。通過幾個典型的功能,主要是為了弄清楚系統裡面增刪改查、通訊、使用者互動是怎麼實現的。這一步可以通過debug模式一步一步地跟下去,以點帶面地去熟悉整個專案。

上面的三板斧基本上就可以搞懂一些基本的開發了。到這一步,差不多可以植入自己開發的東西,寫一些專案安排的需求了。

深入掌握專案,並且獲得提公升。三板斧後面就要重點關注那些沒用過的技術和元件:是什麼,為什麼要用,怎麼用,最後了解底層實現。再照著文件做幾個demo,平常工作時把它的文件建個快捷方式,隨手查詢學習一下,回憶知識點。

補充三板斧更加具體的做法:

程式設計師實習生的高階之路

這兩天一直在考慮乙個問題,在公司表現不錯,基礎知識紮實的實習生,每天馬不停蹄地編碼,完成任務,怎麼提公升自己的能力呢?首先分析一下,不停編碼的原因 1.業務不熟悉,導致在開發的時候需要深入去了解業務,導致技術和業務之間不停地切換,降低開發效率 2.設計不合理,不合理的設計加上緊迫的開發時間,導致 質...

普通程式設計師如何入門AI

毫無疑問,人工智慧是目前整個網際網路領域最火的行業,隨著alphago戰勝世界圍棋冠軍,以及各種無人駕駛 智慧型家居專案的布道,人們已經意識到了ai就是下乙個風口。當然,程式設計師是我見過對於新技術最敏感的乙個人群,舉乙個例子 當tensorflow剛剛面世的時候,幾乎所有搞大資料的同學一見面就開始...

年輕程式設計師如何快速成長

最近公司招聘了一批初級前端工程師,招聘之後就是開始培訓和實習指導,培訓過程中,思考了一些問題,包括如何更好的培訓 指導 以及管理新人。也思索了新人程式設計師自己應該如何快速成長。態度用於是第一位的,不只是新員工,老員工也是如此。不過對於新員工來說,更加重要。沒有好的態度的員工,能力再強,企業也不喜歡...