最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

提高golang源碼閱讀效率的六個高級技巧

 更新時間:2024年01月31日 14:21:21   作者:golang?學(xué)習(xí)記  
隨著業(yè)務(wù)的發(fā)展,自己對代碼的審美的改變,我們不斷的迭代這些代碼,代碼量可以說是與日俱增,代碼的某些結(jié)構(gòu)也會發(fā)生大大小的改變,這些都要求我們在閱讀代碼的時候,需要更快的效率和技巧

引言

在一個項目開發(fā)過程中,我們會很經(jīng)常閱讀代碼,這里面包括負(fù)責(zé)不同業(yè)務(wù)的人的代碼,也會可能涉及到一些框架源碼。

也許更多時間是閱讀自己的代碼,隨著業(yè)務(wù)的發(fā)展,自己對代碼的審美的改變,我們不斷的迭代這些代碼,代碼量可以說是與日俱增,代碼的某些結(jié)構(gòu)也會發(fā)生大大小的改變,這些都要求我們在閱讀代碼的時候,需要更快的效率和技巧。

只有深入經(jīng)歷過比較大型的項目,我們才會更希望有更強(qiáng)大的方式去應(yīng)對和降低環(huán)境帶來的復(fù)雜和變化。

下面就來說說我積累到的那些神一般的閱讀源碼的技巧。

第一個:在大型項目中游刃有余的行走

使用快捷鍵:alt+Home

大型項目的一個特點(diǎn)就是一個文件夾下面有很多的文件,通常多到你厭煩了每次去到里面的文件都要靠鼠標(biāo)的齒輪不停的滑。

在當(dāng)前文件使用alt+home,就可以幫你彈出這個文件所屬的文件夾下面的所有文件,然后你就可以使用之前說到的 speed tying ,根據(jù)關(guān)鍵的幾個字母定位到想要去的文件了。

第二個:在已經(jīng)打開的多個文件之間來回穿梭

使用快捷鍵:alt+left/right left 表示左箭頭,right 表示右箭頭

這個快捷鍵可以大大減少自己寫代碼和右手切換到鼠標(biāo)上的時間,也許你開始這個用起來不是很喜歡,但是相信多用十幾次就會感覺很swift(飛一般的感覺)

第三個:遠(yuǎn)程定位到某個文件

使用快捷鍵:ctrl+shift+n

這個適合你的文件名很長的,但是你只記得2-5字母,并且你會感覺到現(xiàn)在你所在的文件位置距離你的目標(biāo)文件的位置很遠(yuǎn)。那么你可以趕快使用這個快捷鍵,然后輸入你記得的內(nèi)容。

根據(jù)經(jīng)驗,你可以在最后輸入文件的后綴,比如你有一個VeryLongFamousFilename.xml和VeryLongFamousFilename.go,此時你可以這樣輸入:vlfxml,這樣goland就會把你想要的文件排在最前面,只需要enter一下,就進(jìn)入了想要的代碼世界了。

第四個:在多個停留點(diǎn)來回切換

使用快捷鍵:ctrl+alt+ left/right

在項目中,你會在很多代碼位置停留,就如同一個人在人世間從一個地方去到另一個地方,然后再去到另一個地方。

但是雖然現(xiàn)代科技的速度很快,但是去旅游,去遠(yuǎn)行人仍然會花費(fèi)人很多的精力和時間。

在這方面,代碼這很快了,使用如上快捷鍵立馬到。

不過這2個快捷鍵,很容易和系統(tǒng)的快捷鍵沖突,人都不喜歡沖突的,所以,我尋得一個更快的快捷鍵

alt+P:表示回到上一個地方,P表示Previous

alt+F:回到下一個地方,F(xiàn)表示Forward。

第五個:快速查看文件的大局觀

使用快捷鍵:alt+7

前面講的都是如何進(jìn)入一個文件,去到文件的細(xì)節(jié)之處;這像是一個爬山的過程,如果不一覽眾山小的話,眼光的境界就得不到總結(jié)和延展。這快捷鍵給了我們一個像杜甫一樣會當(dāng)凌絕頂,一覽眾山小的機(jī)會。

里面列出了這個文件的結(jié)構(gòu)(權(quán)當(dāng)這個文件的一個傳記了吧):就像這個文件的總結(jié)單一樣,有哪些屬性,做了哪些事;就像一個偉人傳記,會描述這個人的特點(diǎn),童年經(jīng)歷等,大局觀就像書的目錄。

第六個:行為的行為,比行為更強(qiáng)大

前面的技巧,對象都很明確是一個文件。我們按照這些技巧,去執(zhí)行就可以了。然而有些問題是:我想做一個事情,我找不到對應(yīng)的地方去做,只能盲目的在一堆似是而非的選擇中去嘗試。

action是goland的一個強(qiáng)大概念,goland里面具有很多的action,從它的Setting里面就可以看出。

但是今天講的就不是讓你在Setting里面不停的點(diǎn)擊。我們可以像搜索文件一樣搜索action。

快捷鍵:不好意思,這個沒有默認(rèn)的快捷鍵!(說錯了,快捷鍵是ctrl+shift+a,但是這個容易和截圖快捷鍵沖突)

但是gland不會讓你失望的。我們可以結(jié)合前面搜索文件夾快捷鍵ctrl+shift+n,然后按2次alt+right,可以專門來搜索action;

其實(shí)你也可以直接2次shift,然后輸入action的名字就好了。(這是最快的方式了,所以建議忘記ctrl+shift+a)

這樣搜索action的優(yōu)勢很明顯,如果這個action在Setting里面的層次藏的很深,這個時候,我們一層層進(jìn)去很費(fèi)時間的。使用一步到位的體驗就很絲滑。

有波瀾的搜索action

例子:選擇顏色主題:輸入color,然后按enter,會彈出一個小框給你選擇。

以上就是提高golang源碼閱讀效率的高級技巧的詳細(xì)內(nèi)容,更多關(guān)于golang源碼閱讀技巧的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用Go和Tesseract實(shí)現(xiàn)驗證碼識別的流程步驟

    使用Go和Tesseract實(shí)現(xiàn)驗證碼識別的流程步驟

    驗證碼主要用于區(qū)分人類用戶和機(jī)器程序,Tesseract 是一個開源的光學(xué)字符識別(OCR)引擎,支持多種語言和字體,并具有較高的識別準(zhǔn)確率,它由 Google 維護(hù),并且可以通過多種編程語言調(diào)用,本文給大家介紹了使用Go和Tesseract實(shí)現(xiàn)驗證碼識別的流程步驟
    2025-01-01
  • Go語言使用ioutil.ReadAll函數(shù)需要注意基本說明

    Go語言使用ioutil.ReadAll函數(shù)需要注意基本說明

    這篇文章主要為大家介紹了Go語言使用ioutil.ReadAll函數(shù)需要注意基本說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Go語言中Once懶加載的藝術(shù)詳析

    Go語言中Once懶加載的藝術(shù)詳析

    Go語言以其簡潔高效的并發(fā)模型贏得了無數(shù)開發(fā)者的青睞,下面這篇文章主要介紹了Go語言中Once懶加載的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-04-04
  • 詳解go+gin 入門指南

    詳解go+gin 入門指南

    本文主要介紹了go語言環(huán)境的安裝和gin框架的簡單使用,就像java的hello world一樣,簡單入門,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-02-02
  • golang中的string與其他格式數(shù)據(jù)的轉(zhuǎn)換方法詳解

    golang中的string與其他格式數(shù)據(jù)的轉(zhuǎn)換方法詳解

    這篇文章主要介紹了golang中的string與其他格式數(shù)據(jù)的轉(zhuǎn)換方法,文章通過代碼示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-10-10
  • Golang連接Redis數(shù)據(jù)庫的方法

    Golang連接Redis數(shù)據(jù)庫的方法

    這篇文章主要介紹了Golang連接Redis數(shù)據(jù)庫的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • mcp-go Go搭建MCP服務(wù)的實(shí)現(xiàn)示例

    mcp-go Go搭建MCP服務(wù)的實(shí)現(xiàn)示例

    本文主要介紹了mcp-go Go搭建MCP服務(wù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • Go并發(fā)編程sync.Cond的具體使用

    Go并發(fā)編程sync.Cond的具體使用

    Go 標(biāo)準(zhǔn)庫提供 Cond 原語的目的是,為等待 / 通知場景下的并發(fā)問題提供支持,本文主要介紹了Go并發(fā)編程sync.Cond的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2022-05-05
  • 優(yōu)雅管理Go?Project生命周期

    優(yōu)雅管理Go?Project生命周期

    這篇文章主要為大家介紹了如何優(yōu)雅的管理Go?Project生命周期,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • go語言之給定英語文章統(tǒng)計單詞數(shù)量(go語言小練習(xí))

    go語言之給定英語文章統(tǒng)計單詞數(shù)量(go語言小練習(xí))

    這篇文章給大家分享go語言小練習(xí)給定英語文章統(tǒng)計單詞數(shù)量,實(shí)現(xiàn)思路大概是利用go語言的map類型,以每個單詞作為關(guān)鍵字存儲數(shù)量信息,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2020-01-01

最新評論

曲松县| 高青县| 麟游县| 安新县| 桐城市| 鸡东县| 图木舒克市| 韶山市| 灵宝市| 云霄县| 大埔区| 句容市| 赫章县| 卓资县| 开封市| 达孜县| 庆云县| 晋宁县| 体育| 清河县| 新野县| 称多县| 霍林郭勒市| 忻州市| 常山县| 乐至县| 衡山县| 双牌县| 安阳市| 砀山县| 明光市| 翁牛特旗| 舒兰市| 广宗县| 腾冲县| 昌邑市| 兴城市| 韶山市| 汉沽区| 成都市| 连山|