自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

讀 Go 源碼,可以試試這個工具

開發(fā) 開發(fā)工具
編程發(fā)展至今,從面向過程到面向?qū)ο?,再到現(xiàn)在的面向框架。寫代碼變成了一件越來越容易的事情。

編程發(fā)展至今,從面向過程到面向?qū)ο?,再到現(xiàn)在的面向框架。寫代碼變成了一件越來越容易的事情。

學(xué)習(xí)基礎(chǔ)語法,看看框架文檔,幾天時間搞出一個小項目并不是一件很難的事情。

但時間長了就會發(fā)現(xiàn),一直這樣飄在表面是不行的,技術(shù)永遠得不到提升。

想要技術(shù)水平有一個質(zhì)的飛躍,有一個很好的方法,就是讀源碼。

但讀源碼真的是一件很有挑戰(zhàn)的事情。

想想當(dāng)年自己讀 Django 源碼,從啟動流程開始看,沒走幾步就放棄了,而且還放棄了很多次。

這么說吧,我對 Django 啟動部分的代碼,就像對英文單詞 abandon 那么熟悉。

后來總結(jié)經(jīng)驗,發(fā)現(xiàn)是方法不對。

主要原因是一上來就深入細節(jié)了,事無巨細,每個函數(shù)都不想錯過。結(jié)果就導(dǎo)致對整體沒有概念,抓不住重點,又深陷無關(guān)緊要的代碼。最后就是看不進去,只能放棄。

最近看了一點 Go 源碼,慢慢也摸索出了一些心得。有一個方法我覺得挺好,可以帶著問題去讀源碼,比如:

  • Go Error 嵌套到底是怎么實現(xiàn)的?
  • 為什么要避免在 Go 中使用 ioutil.ReadAll?
  • 如何在 Go 中將 []byte 轉(zhuǎn)換為 io.Reader?

在解決問題的過程中也就對源碼更熟悉了。

還有一點要注意的就是,先看整體,再看細節(jié)。

在這里推薦給大家一個工具,這個工具可以幫我們梳理出代碼的整體結(jié)構(gòu),我覺得還是挺有用的。是一個開源項目:

項目地址: https://github.com/jfeliu007/goplantuml

這個項目可以分析一個 Go 項目,然后生成接口和結(jié)構(gòu)體的 UML 圖。有了這個圖之后,基本上也就對項目整體關(guān)系有了一個基本概念,再讀代碼的話,相對來說會容易一些。

項目具體怎么用我倒是沒仔細研究,因為老哥非常貼心的寫了一個 WEB 頁面:

網(wǎng)站鏈接: https://www.dumels.com/

使用起來很方便,首先在頁面最上方輸入框輸入項目地址,然后在左側(cè)輸入要分析的代碼目錄就可以了。默認生成的圖中會包括 Fields 和 Methods。

填寫好信息之后就可以生成 UML 圖了。比如我輸入的 src/sync,就得到了下面這張圖,有了這張圖,對代碼結(jié)構(gòu)之間的關(guān)系就更清晰了。

還可以一次分析多個目錄,多個目錄用英文逗號分割。

如果不填寫要分析的目錄,則會分析整個項目,也可以選擇是否要忽略某個目錄。

友情提示一點,不要試圖分析整個 Go 項目,可能是項目太大了,頁面是不會給你返回的。

本文轉(zhuǎn)載自微信公眾號「AlwaysBeta」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系A(chǔ)lwaysBeta公眾號。

責(zé)任編輯:武曉燕 來源: AlwaysBeta
相關(guān)推薦

2022-01-26 07:18:57

工具GoGo 項目

2020-07-29 10:55:07

數(shù)據(jù)庫工具技術(shù)

2023-08-15 08:42:41

2021-12-03 07:59:21

Go語言進程

2013-11-27 17:04:19

Windows 8.1黑屏

2021-06-24 16:18:03

Cube.js數(shù)據(jù)分析開源

2021-01-27 11:36:34

代碼開發(fā)工具

2024-10-28 21:06:54

2021-12-29 18:55:55

工具Go 代碼

2022-08-01 08:48:39

Go代碼接口

2023-12-10 13:58:17

2021-07-12 12:40:39

工具代碼開發(fā)

2019-01-16 16:00:33

2022-09-09 19:01:02

接口Reader?Spark

2023-04-17 08:19:47

select *MySQL

2021-02-11 13:30:56

Nodejs源碼c++

2023-04-10 08:07:48

MySQLlimitoffset

2022-08-14 22:35:37

EurekaConsul

2021-10-26 10:15:34

Python股市代碼

2021-02-18 16:05:35

Windows 10XWindows 10工具
點贊
收藏

51CTO技術(shù)棧公眾號