如何有效率的看code ? - 轉職

Table of Contents

如果你沒寫錯的話

一年多看幾萬行code真的不多

我也是轉職仔,原本在ic house寫C做韌體,一個人負責一個.c/.h檔。一年才進三行code。
轉職後寫C++整個team大約十多人,負責的那一層有兩千萬行code。然後第一年就進快一萬行code。

我原本不會C++的,所以什麼framework,modern C++,design pattern,multithreaded 之類的都沒學過要重學。

我不知道你的工作類似哪種,如果是類似我第一種其實很簡單,IDE 上function name點進去看函數定義就好了沒那麼難。

第二種的話有文件可看那當然最好,但沒文件也是很正常。正常人不可能每新增一個class就寫一份文件,那樣開發速度太慢。而且像MVC或design pattern這種很generic的架構也沒人在寫文件的。再加上寫class diagram或sequence diagram其實很花時間。我剛轉職的時候也會寫但做上手了以後根本懶得寫。

建議你多準備一個螢幕,用雙螢幕看會比較快,如果是筆電的話還可以三螢幕。

然後選擇適合的editor,我個人是用visual studio code,ctrl加滑鼠左鍵點到function上就可以看到函數定義,用launch.json就可以用debug mode,設斷點看call stack然後單步執行。

註解的話我們公司不太寫在程式碼裡面的,都是用issue tracker和git去追蹤。比如說你想看這段code是誰寫的基於什麼理由然後又經過了怎樣的演進。你就用git查blame,就會看到這段code是哪幾張ticket改的,你再去ticket看上面應該都有商業邏輯和註解可看。有code review的公司在bitbucket上應該也有大家的討論和註解可以看。

大概是這樣,其他想到再補充
-----
Sent from JPTT on my iPhone

--

All Comments

Daph Bay avatarDaph Bay2020-07-13
怎麼會離開豬屎屋去系統廠呢?
Caitlin avatarCaitlin2020-07-17
系統場沒有不好呀,而且我公司比較像是外商軟體公司
Audriana avatarAudriana2020-07-20
推比較現代的作法,很多地方開發時程都壓超緊,連測試
時間都不給了還寫文件
Candice avatarCandice2020-07-22
老實說習慣古早時代寫小工具都會留readme跟更新紀錄了
Callum avatarCallum2020-07-26
現在都習慣寫滿滿的註解 issue tracker簡單標原因就好
David avatarDavid2020-07-30
註解應該是很重要的 畢竟是很直覺的 用git找太費時間了
Susan avatarSusan2020-08-01
樓上倒過來了吧,成千上萬行的程式分布不同目錄檔案,你要找
註解還不確定是誰或何時寫的,註解是不是還有效. 看git log
Susan avatarSusan2020-08-04
直接知道作者時間,加上git diff可以知道變化的內容. 跟
Rae avatarRae2020-08-08
JIRA Redmine合起來用一目了然
Linda avatarLinda2020-08-10
git log真的比較直覺
Hazel avatarHazel2020-08-15
簡單來講就是要用時間補能力 不然就不要幹 離職
Enid avatarEnid2020-08-16
註解對於了解細節還是很重要,某些功能的patch修修補補都不
知道演進多少次,git log比較適合用來看演進過程,不是trace
Andrew avatarAndrew2020-08-19
最好是有人在看演進過程,git垃圾工具無誤,一堆錯誤觀念
Kama avatarKama2020-08-20
不用git用啥? svn?
Una avatarUna2020-08-21
其實我比較喜歡perforce
Jacob avatarJacob2020-08-21
git我們都拿來看出包的是誰XD
Anonymous avatarAnonymous2020-08-24
push
Hardy avatarHardy2020-08-27
八成是android+高通...
Rachel avatarRachel2020-08-28
謝謝分享
Faithe avatarFaithe2020-08-29
推git
Ula avatarUla2020-08-30
某人對git 很悲憤XDD
Ula avatarUla2020-09-02
Faithe avatarFaithe2020-09-06
crag
Daniel avatarDaniel2020-09-09
打錯 ctags -R *