導航:首頁 > 程序命令 > 程序員高效讀代碼

程序員高效讀代碼

發布時間:2022-09-24 09:56:29

Ⅰ VIM的高效讀代碼

建議在vim上安裝Taglist+cscope+ctags插件有利於高效讀代碼,有利於學習!
1、安裝
對於小編我來說我使用的是Ubuntu,安裝軟體一般使用的命令是apt-get install ***!
對於vim+Taglist+cscope+ctags組合編輯器的創建,vim , cscope , ctags安裝起來比較方便使用上述命令即可安裝!
(對於不同的linux發行版本安裝軟體的命令不太一樣,需要根據自己的安裝版稍微修改,比如說Fedora即使用yum命令安裝)
對於Taglist使用這個方法安裝不了,我們需要先下載,然後安裝完成:
首先上網下載Taglist插件,下載完成後解壓,再將文件下的taglist.vim使用cp命令拷貝到HOME/.vim/plugin文件夾下(cp -r taglist.vim ~/.vim/plugin)
2、vim的配置
vim是一個非常好用的編輯工具,以下介紹幾個常用的底行模式命令:
(1). 設置縮進
:set smartindent // 設置縮進
:set smartindent shiftwidth=4 // C語言自動縮進,縮進值為4個字元寬度
(2). 顯示游標行列信息
:set ruler // 顯示游標信息(右下角)
(3). 查看製表符
:set list // 顯示製表符,以^符號顯示製表符的位置
(4). 查看行數信息
:set number //顯示行號(左邊)
(5). 關鍵字高亮
:syntax on //關鍵字高亮
(6). 多文件編輯 ,在編寫程序時有可能需要同時編輯多個文件,在這種情況下,需要如下設置
: split two.c // 多文件編輯
當然,如果不嫌麻煩,可以在每次打開Vim時 輸入如上命令,如我經常用的是:set number :set ruler :syntax on :set smartindent 命令,如果將平時在底行模式下輸入的命令直接寫入配置文件,則以後使用Vim時不用再次輸入這些命令。
首先,試著在Vi的底行模式下輸入如下命令,如果不支持的話,去下載一個Vim的全版本,sudo apt-get install vim-full。
以下是修改配置文件的方法:
(1). 找到Vimrc文件。
(2) 查看文件的許可權:
ls -l vimrc
shisir@shisir-desktop:/usr/share/vim$ cd /etc/vim
shisir@shisir-desktop:/etc/vim$ ls
gvimrc vimrc vimrc.tiny
shisir@shisir-desktop:/etc/vim$ ls -l vimrc
-r--r--r-- 1 root root 2492 2009-04-10 08:08 vimrc
(3) 如果沒有寫許可權的話,修改許可權,使我們可以修改該配置文件
sudo chmod a+w vimrc
(4)根據個人需要將上述命令寫入配置文件
比如,我個人的設置是: syntax on , set ruler ,set number , set smartindent shiftwidth=4
下面貼上我的vimrc文件的配置信息:
顯示行號
set number
檢測文件的類型
filetype on
記錄歷史的行數
set history=1000
自動對齊
set autoindent
set cindent
智能選擇對齊方式
set smartindent
tab為4個空格
set tabstop=4
當前行之間交錯時使用4個空格
set shiftwidth=4
設置匹配模式,輸入左括弧會出現右括弧
set showmatch
編輯時顯示游標狀態
set ruler
快速匹配
set incsearch
修改文件自動備份
if has(vms)
set nobackup
else
set backup
endif
設置開啟ctags
settags=/home/zhouyl/linux-3.4.7/tags;這邊設置的是你使用ctags -R的目錄,後面有介紹!你根據自己的使用修改這個路徑
set autochdir
Taglist設置
let Tlist_Auto_Open = 1
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
let Tlist_Show_One_File = 1
let Tlist_Exit_OnlyWindow = 1
cscope設置
set cscopequickfix=s-,c-,d-,i-,t-,e-
if has(cscope)
set csprg=/usr/bin/cscope
set csto=1
set cst
set nocsverb
add any database in current directory
if filereadable(cscope.out)
cs add cscope.out
endif
set csverb
endif
因為我的文檔中的原配置文件已經有了語法高亮:
Vim5 and later versions support syntax highlighting. Uncommenting the next
line enables syntax highlighting by default.
if has(syntax)
syntax on
endif
所以我就沒寫了,您如果vimrc文件裡面沒有此項建議自己加上syntax on 設置語法高亮
PS:在配置文件中符號後的內容是注釋,而且在配置文件中是不需要添加符號的 ,這里關於cscope、ctags和Taglist的設置可以先寫上,後面將對這三個插件有介紹。好了,去開一個Vim,編輯一個程序看看,是不是感覺很不一般呢?
好了,下面順便演示下,智能補全的用法,我分四種情況:1、前面申明過的變數或者函數名的補全;2、結構體等自建結構的補全;3、STL等標准庫的補全;4、括弧、引號等自動匹配補全。
對於第一種情況,寫程序的過程中,直接用CTRL+p即可選擇,對於第二種情況,如果想申明了結構體T,想在輸入T.時彈出成員供選擇,只需在用之前按一下:CTRL+F12,然後效果如圖:

3、Taglist插件的使用
TagList插件,是一款基於ctags,在vim代碼窗口旁以分割窗口形式(如上圖所示)顯示當前的代碼結構概覽,增加代碼瀏覽的便利程度的vim插件.
在Vim中載入代碼文件後,可以使用以下命令控制taglist
:TlistOpen 打開並將輸入焦點至於標簽列表窗口,效果如上圖所示
:TlistClose 關閉標簽列表窗口
:TlistToggle 切換標簽列表窗口狀態(打開←→關閉),標簽列表窗口是否獲得焦點取決於其他配置
ctl-w + w 或ctl-w + 方向鍵 窗口切換(taglist本質上是一個vim分隔窗口,因此可以使用ctl-w系列快捷鍵對窗口進行切換操作)
在Taglist窗口主要有以下操作
按F1:打開幫助
回車鍵:跳到游標所在的標記的定義處(如將游標移到main函數,按回車鍵)
o:新建一個窗口,跳到標記定義處
p:預覽標記定義(仍然在taglist窗口)
空格:顯示標記的原型(如函數原型)
u:更新標記列表(比如源文件新增了一個函數,並在保存後,可在taglist窗口按u)
s:選擇排序欄位(暫時我也不知道什麼意思)
d:刪除游標所在的taglist文件(如用vi打開了兩個文件f1.c,f2.c可以刪除f1.c的標記)
x:n放大/縮小taglist窗口
+:展開(指標記)
-:折疊
*:全部展開
=:全部折疊
[[:將游標移到前一個文件的起點
]]:將游標移到後一個文件的起點
q:退出taglist窗口
F1:關閉幫助
4、ctags插件的使用
VIM簡單易用,大家只要看看VIM自帶的vitutor,大約只要20分鍾就能掌握VIM的用法,上面也簡單介紹了點vim的用法。但是對於Linux下的C/C++的 程序員,使用VIM+Ctags的組合來寫程序也許是最佳的選擇。^_^
盡管ctags也可以支持其它編輯器,但是它正式支持的只有VIM。並且VIM中已經默認安裝了Ctags,它可以幫助程序員很容易地瀏覽源代碼。
熟練的使用ctags僅需記住下面七條命令:(很簡單吧,呵呵)
1. $ ctags–R * ($ 為Linux系統Shell提示符)
2. $ vi –t tag (請把tag替換為您欲查找的變數或函數名)
3. :ts (ts 助記字:tagslist, 「:」開頭的命令為VI中命令行模式命令)
4. :tp (tp 助記字:tagspreview)---此命令不常用,可以不用記
5. :tn (tn 助記字:tagsnext) ---此命令不常用,可以不用記
6. Ctrl + ] 跳到游標所在函數或者結構體的定義處
7. Ctrl + T 返回查找或跳轉
下面我們逐條的解釋上面的命令:
「$ ctags–R *」:「-R」表示遞歸創建,也就包括源代碼根目錄(當前目錄)下的所有子目錄。「*」表示所有文件。這條命令會在當前目錄下產生一個「tags」文件, 當用戶在當前目錄中運行vi時,會自動載入此tags文件。Tags文件中包括這些對象的列表:
用#define定義的宏
枚舉型變數的值
函數的定義、原型和聲明
名字空間(namespace)
類型定義(typedefs)
變數(包括定義和聲明)
類(class)、結構(struct)、枚舉類型(enum)和聯合(union)
類、結構和聯合中成員變數或函數
VIM用這個「tags」文件來定位上面這些做了標記的對象。
剩下的命令就是定位這些對象的方法:
「$ vi –t tag」 :在運行vim的時候加上「-t」參數,例如:
[/usr/src]$ vim -t main
這個命令將打開定義「main」(變數或函數或其它)的文件,並把游標定位到這一行。如果這個變數或函數有多處定義,在VI命令行模式「:ts」命令就能 列出一個列表供用戶選擇。 「:tp」為上一個tag標記文件,「:tn」為下一個tag標記文件。當然,若當前tags文件中用戶所查找的變數或函數名只有一 個,「:tp,:tn」命令不可用。 :(
最方便的方法是把游標移到變數名或函數名上,然後按下「 Ctrl+] 」,這樣就能直接跳到這個變數或函數定義的源文件中,並把游標定位到這一行。用 「 Ctrl+T 」可以退回原來的地方。即使用戶使用了N次「Ctrl+]」查找了N個變數,按N次「Ctrl+t」也能回到最初打開的文件,它會按原路返 回 。 ^_^
注意:運行vim的時候,必須在「tags」文件所在的目錄下運行。否則,運行vim的時候還要用「:settags=」命令設定「tags」文件的路 徑,這樣vim才能找到「tags」文件。在完成編碼時,可以手工刪掉tags文件(帚把不到,灰塵不會自己跑掉^_^)。
5、cscope插件的使用
Cscope是一個類似 ctags的工具。 你可以把它想作是超過頻的 ctags,因為它功能比ctags 強大很多。 在 Vim 里,通過 cscope 查詢結果來跳轉就象跳轉到其他的標簽完全一樣;它被保存在標簽棧里。這樣你就可以象使用 ctags一樣在函數等等之間便捷的跳轉 。
在VIM中使用cscope非常簡單,首先調用「cscope add」命令添加一個cscope資料庫,然後就可以調用「cscope find」命令進行查找了。VIM支持8種cscope的查詢功能,如下:例如,我們想在代碼中查找調用work()函數的函數,我們可以輸入:「:cs find c work」,回車後發現沒有找到匹配的功能,可能並沒有函數調用work()。我們再輸入「:cs find s work」,查找這個符號出現的位置,vim列出了這個符號出現的所有位置。我們還可以進行字元串查找,它會雙引號或單引號括起來的內容中查找。還可以輸入一個正則表達式,這類似於egrep程序的功能。
在源代碼目錄下打開vim。要使用cscope查找就必須載入cscope.out文件.在vim命令行下執行:(按照上述方法配置好的vimrc中有這一步)
:cs add cscope.out
在vim命令行下執行:
:cs help
cscope commands:
add : Add a new database (Usage: add file|dir [pre-path] [flags])
find : Query for a pattern (Usage: find c|d|e|f|g|i|s|t name)
c: Find functions calling this function //查找調用本函數的函數
d: Find functions called by this function //查找本函數調用的函數
e: Find this egrep pattern //查找egrep模式,相當於egrep功能,但查找速度快多了
f: Find this file //查找並打開文件,類似vim的find功能
g: Find this definition //查找函數、宏、枚舉等定義的位置,類似ctags的功能
i: Find files #including this file //查找包含本文件的文件
s: Find this C symbol //查找C語言符號,即查找函數名、宏、枚舉值等出現的地方
t: Find assignments to //查找指定的字元串
help : Show this message (Usage: help)
kill : Kill a connection (Usage: kill #)
reset: Reinit all connections (Usage: reset)
show : Show connections (Usage: show)
例如:使用cscope查找do_fork函數的定義:
在vim命令行下執行: :cs f g do_fork

Ⅱ 山東北大青鳥:程序員如何才能提高編程能力呢

剛開始接觸編程的程序員都會有個困惑,如何才能提高編程能力呢?這篇文章能夠幫助那些迷茫於提高編程能力的程序員,下面IT培訓http://www.kmbdqn.cn/是程序員提高編程能力的方法。
寫程序,大多數時間是花在讀代碼的,寫的時間很少,並不是寫非常多的代碼就能提高編程能力的。
所以把讀的技能提升,對程序員是非常有幫助的。
提高編程能力萬無一失的方法就是去讀別人寫的代碼。
閱讀什麼代碼:閱讀你依賴的代碼、閱讀令你印象深刻的代碼、閱讀你崇拜的人寫的代碼、閱讀你可以理解的代碼。
如何閱讀:選擇了要讀的代碼後,怎樣閱讀呢?縱觀全局,注意文件結構;添加註釋;使用測試——Luke,選擇有測試套件的項目;執行,更改內容,執行;沖洗及重復。
從哪兒開始:可以在GitHub上閱讀代碼,直到發現能夠借鑒的項目,之後用gitclone復制此項目,開始閱讀就好。
程序員想要提高編程能力,不妨按照本文的方法試試,你將會收獲頗豐。
IT培訓加盟,是一家集產品研發與企業內訓為一體的高技術科技型公司,歷經多年發展,開拓創新,不斷調整企業管理機制豐富自主產品研發內容,建立極具競爭力的技術體系。

Ⅲ 怎樣學習代碼

建議你先學習C語言,C語言是最基礎的東西。

1、學代碼要有信心、恆心。

2、學代碼要由淺入深,從簡單到復雜。

拓展資料:

代碼就是程序員用開發工具所支持的語言寫出來的源文件,是一組由字元、符號或信號碼元以離散形式表示信息的明確的規則體系。代碼設計的原則包括唯一確定性、標准化和通用性、可擴充性與穩定性、便於識別與記憶、力求短小與格式統一以及容易修改等。源代碼是代碼的分支,某種意義上來說,源代碼相當於代碼。現代程序語言中,源代碼可以書籍或磁帶形式出現,但最為常用格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼最終目的是將人類可讀文本翻譯成為計算機可執行的二進制指令,這種過程叫編譯,它由通過編譯器完成。

(參考資料:代碼-網路)

Ⅳ 北大青鳥分享系統程序員怎樣把代碼寫得又快又好

很多初學者包括一些有經驗的程序員,在敲完代碼的最後一個字元後,馬上開始編譯和運行,迫不急待的想看到自己的工作成果。快速反饋有助於滿足自己的成就感,但是同時也會帶來一些問題:

讓編譯器幫你檢查語法錯誤可以省些時間,但程序員往往太專注這些錯誤了,以為改完這些錯誤就萬事大吉了。其實不然,很多錯誤編譯器是發現不了的,像內存錯誤和線程死鎖等等,這些錯誤可能逃過簡單的測試而遺留在代碼中,直到集成測試或者軟體發布之後才暴露出來,那時就要花更大代價去修改它們了。

修改完編譯錯誤之後就是運行程序了,運行起來有錯誤,就輪到調試器上場了。花了不少時間去調試,發現無非是些低級錯誤,或許你會自責自己粗心大意,但是下次可能還是犯同樣的錯誤。更嚴重的是這種debug & fix的方法,往往是頭痛醫頭腳痛醫腳,導致低質量的軟體。


讓編譯器幫你檢查語法錯誤,讓調試器幫你查BUG,這是天經地義的事,但這確實是又慢又爛的方法。就像你要到離家東邊1000米的地方開會,結果你往西邊走,又是坐車又是搭飛機,花了一周時間,也繞著地球轉了一周,終於到了會議室,你還大發感慨說,現代的交通工具真是發達啊。其實你往東走,走路也只要十多分鍾就到了。不管你的調試技巧有多高,都不如一次性寫好更高效。


下面是我在閱讀自己代碼時的一些方法:


檢查常見錯誤


第一遍閱讀時主要關注語法錯誤、代碼排版和命名規則等等問題,只要看不順眼就修改它們。讀完之後,你的代碼很少有低級錯誤,看起來也比較干凈清爽。第二遍重點關注常見編程錯誤,比如內存泄露和可能的越界訪問,變數沒有初始化,函數忘記返回值等等,在後面的章節中,我會介紹這些常見錯誤,避免這些錯誤可以為你省大量的時間。如果有時間,在測試完成之後,還可以考慮是否有更好的實現方法,甚至嘗試重新去實現它們。說了讀者可能不相信,在學習編程的前幾年,我經常重寫整個模塊,只我覺得能做得更好,能驗證我的一些想法,或提高我的編程能力,即使連續幾天加班到晚上十一點,我也要重寫它們。


模擬計算機執行


常見錯誤是比較死的東西,按照檢查列表一條一條的做就行了。有些邏輯通常不是這么直觀的,這時可以自己模擬計算機去執行,假想你自己是計算機,讀入這些代碼時你會怎麼處理。北大青鳥http://www.kmbdqn.com/認為這種方法能有效的完善我們的思路,考慮不同的輸入數據,各種邊界值,這能幫助我們想到一些沒有處理的情況,讓程序的邏輯更嚴謹。


Ⅳ 如何提高代碼可讀性,可維護性

如何提高代碼可讀性,可維護性
很多程序員在寫代碼的時候往往都不注意代碼的可讀性,讓別人在閱讀代碼時花費更多的時間。其實,只要程序員在寫代碼的時候,注意為代碼加註釋,並以合理的格式為代碼加註釋,這樣就方便別人查看代碼,也方便自己以後查看了。下面分享十個加註釋的技巧: 1. 逐層注釋為每個代碼塊添加註釋,並在每一層使用統一的注釋方法和風格。例如:針對每個類:包括摘要信息、作者信息、以及最近修改日期等;針對每個方法:包括用途、功能、參數和返回值等。在團隊工作中,採用標准化的注釋尤為重要。當然,使用注釋規范和工具(例如C#里的XML,java里的Javadoc)可以更好的推動注釋工作完成得更好。2. 使用分段注釋如果有多個代碼塊,而每個代碼塊完成一個單一任務,則在每個代碼塊前添加一個注釋來向讀者說明這段代碼的功能。

Ⅵ [探討]提高代碼質量的方法有哪些

1. 代碼風格和規范:

多看看網上的一些代碼規范,仔細思考一下制定這些規范的出發點是什麼。例如Oracle(前

SUN)公司的代碼規范,Google的代碼規范 。

2. 學習最佳實踐

在編碼中遇到的各種大大小小的問題,首先不是自己去「閉門造車」的冥思苦想,多用

Google,搜搜是否已經有現成的解決方案。

3. 閱讀優秀的開源代碼

網上有很多優秀的開源項目,針對你自己項目中遇到的問題,找找類似的開源項目,學習、

研究,最重要的是變成自己的東西。

4. 學好英語

英語是目前所有編程語言的基礎。你的文件名、類名、方法名、變數名都是需要一個好的英

語基礎才能夠起得合適。任何的業務邏輯,都需要你使用以英語為基礎的計算機語言表達出來。

英語不好,你的代碼永遠看起來不專業。

書籍涵蓋的主題從個人責任、職業發展,知道用於使代碼保持靈活、並且易於改編和復用的

各種架構技術。

總結起來方法有三:平時多練手,多閱讀優秀的源碼,閱讀優秀的編程技巧類型的書。

Ⅶ 給程序員編寫高效java代碼的幾條建議

張小喜告別996 實現高效編程 減少開發壓力 開啟Java高效編程之門(完整版高清視頻)網路網盤

鏈接: https://pan..com/s/1kKaGzsXHu3Cy7MqvIY7r3g

提取碼: aizj 復制這段內容後打開網路網盤手機App,操作更方便哦

若資源有問題歡迎追問~

Ⅷ 銀川北大青鳥分享系統程序員怎樣把代碼寫得又快又好

很多初學者包括一些有經驗的程序員,在敲完代碼的最後一個字元後,馬上開始編譯和運行,迫不急待的想看到自己的工作成果。
快速反饋有助於滿足自己的成就感,但是同時也會帶來一些問題:讓編譯器幫你檢查語法錯誤可以省些時間,但程序員往往太專注這些錯誤了,以為改完這些錯誤就萬事大吉了。
其實不然,很多錯誤編譯器是發現不了的,像內存錯誤和線程死鎖等等,這些錯誤可能逃過簡單的測試而遺留在代碼中,直到集成測試或者軟體發布之後才暴露出來,那時就要花更大代價去修改它們了。
修改完編譯錯誤之後就是運行程序了,運行起來有錯誤,就輪到調試器上場了。
花了不少時間去調試,發現無非是些低級錯誤,或許你會自責自己粗心大意,但是下次可能還是犯同樣的錯誤。
更嚴重的是這種debug&fix的方法,往往是頭痛醫頭腳痛醫腳,導致低質量的軟體。
讓編譯器幫你檢查語法錯誤,讓調試器幫你查BUG,這是天經地義的事,但這確實是又慢又爛的方法。
就像你要到離家東邊1000米的地方開會,結果你往西邊走,又是坐車又是搭飛機,花了一周時間,也繞著地球轉了一周,終於到了會議室,你還大發感慨說,現代的交通工具真是發達啊。
其實你往東走,走路也只要十多分鍾就到了。
不管你的調試技巧有多高,都不如一次性寫好更高效。
下面是我在閱讀自己代碼時的一些方法:檢查常見錯誤第一遍閱讀時主要關注語法錯誤、代碼排版和命名規則等等問題,只要看不順眼就修改它們。
讀完之後,你的代碼很少有低級錯誤,看起來也比較干凈清爽。
第二遍重點關注常見編程錯誤,比如內存泄露和可能的越界訪問,變數沒有初始化,函數忘記返回值等等,在後面的章節中,我會介紹這些常見錯誤,避免這些錯誤可以為你省大量的時間。
如果有時間,在測試完成之後,還可以考慮是否有更好的實現方法,甚至嘗試重新去實現它們。
說了讀者可能不相信,在學習編程的前幾年,我經常重寫整個模塊,只我覺得能做得更好,能驗證我的一些想法,或提高我的編程能力,即使連續幾天加班到晚上十一點,我也要重寫它們。
模擬計算機執行常見錯誤是比較死的東西,按照檢查列表一條一條的做就行了。
有些邏輯通常不是這么直觀的,這時可以自己模擬計算機去執行,假想你自己是計算機,讀入這些代碼時你會怎麼處理。
北大青鳥http://www.kmbdqn.cn/認為這種方法能有效的完善我們的思路,考慮不同的輸入數據,各種邊界值,這能幫助我們想到一些沒有處理的情況,讓程序的邏輯更嚴謹。

閱讀全文

與程序員高效讀代碼相關的資料

熱點內容
哚哚電視劇最好看電視劇 瀏覽:406
美國在泰國拍的一部鱷魚電影 瀏覽:861
百合小說大全txt 瀏覽:406
Nam-hyeok 瀏覽:191
新世界第一早拽 瀏覽:69
徐錦江跟葉子楣拍的電影叫什麼名字 瀏覽:635
法國兩個女生吹豎笛是什麼電影 瀏覽:568
頭條用什麼品牌伺服器 瀏覽:89
什麼app查車的維修記錄 瀏覽:242
超級7000單詞串聯pdf 瀏覽:161
現在看小電影什麼網站好 瀏覽:969
葉彤倩有聲讀物mp3下載 瀏覽:544
我的世界多線伺服器是什麼意思 瀏覽:989
牛奶春葯1978電影 瀏覽:597
麗水hypermill五軸編程 瀏覽:75
文件夾怎麼讀用英語 瀏覽:773
365影院 瀏覽:644
言情肉文小說下載 瀏覽:168
穿書肉文 瀏覽:590
早期小電影下載軟體 瀏覽:940