Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NTU NewsLab Group Meeting 1

Sam Huang
August 31, 2020

NTU NewsLab Group Meeting 1

Sam Huang

August 31, 2020
Tweet

More Decks by Sam Huang

Other Decks in Education

Transcript

  1. Group Meeting - Some tracing tools Dept. Computer Science and

    Information Engineering, NTU 20081125 Yi-Siang Huang
  2. Vim + plugin • 大致有下面幾種 - Ctags, Cscope, taglist, …

    • emacs 也有支援(非 vim-only) • ubuntu 都可以用 apt-get 取得
  3. Vim + plugin (cont.) • 先來談談 vim … - ctrl+w

    n … 分割視窗 - ctrl+w s (:sp) … 開啟同一檔案在新分割視窗(:e 可開別的檔案) - ctrl+w q (:q)… 關閉視窗 - ctrl+w [↑|↓] … 切換視窗 - ctrl+w [+|-] … 調整視窗大小 - [[ / ]] … 跳到前/後一個函數 - [I / ]I … 放在關鍵字上可跳到同檔案中上/下次出現的位置 - gf … 放在 include 的檔案名稱上時即可開啟該檔案 ( :set path+=/usr/include ) ctrl + O 回到原檔案 - [D … 承接上面的 gf, 可展示出 macro 的定義 - :set cursorline … 在 vim 中開啟基準線
  4. Vim + plugin (cont.) • Ctags 1. 幫我們快速找到變數和函數宣告的地方 ! 2.

    apt-get ctags 即可安裝 3. 產生檔案列表 :find . –name “*.c” –o –name “*.h” > ctags.files 產生 index : ctags –L ctags.files 4. 使用: Ctrl + ] … 跳到 function body(可跨檔案) Ctrl + t … 回到上一次 :help tags … 查看說明
  5. Vim + plugin (cont.) • Cscope 1. 可以看成是 Ctags 的加強版

    ! 2. 下載 cscope_maps.vim 到 ~/.vim/plugin 即安裝完成 3. 產生檔案列表 :find . –name “*.c” –o –name “*.h” > ctags.files 產生 index : ctags –bq –i ctags.files 4. 使用: :cs find … 搜尋 functon (還有很多功能) Ctrl + O … 回到上一次 :help cscope … 查看說明
  6. Vim + plugin (cont.) • taglist 1. 讓 vim 出現新分割視窗協助搜尋

    (加強 ctags 功能 本質上仍是 ctags) 2. apt-get excberant-ctags 並下載 taglist.vim 到 ~/.vim/plugin 即安裝完成 3. 產生檔案列表以及產生 index 同 ctags 4. 會列出該檔案中所有變數以及函數名稱 5. 使用: :TlistToggle … 開啟輔助視窗 Ctrl + w + [←|→] … 切換視窗方式
  7. Vim + plugin (cont.) • global 1. 可和 vim 結合

    但比較特別的是可以產生網頁格式的樹狀結構網頁 ! 2. 支援多種語言 (php, perl, pyhton, …) 3. apt-get global 即安裝完成 4. 在要產生程式碼樹的地方下 gtags 即可產生索引檔 接著下 htags –Fnsa 產生程式碼樹 其後會看到 HTML 目錄
  8. GUI tools • 大致有下面幾種 - Kscope, Anjuta, Kdevelop, … •

    大致上差異不大 (都宣稱和 source insight 差不多強) • geany – 一個在程式語法上加強的編輯器
  9. 我們常常碰到 … 容易 delay 而且有抓不完的 bug 老闆或組長要你畫押進度 但是你不敢 不斷不斷的加班 持續很長的一段時間

    意志消沈 不幸的事情一再發生 浪費時間 一堆聰明人淨幹些蠢事 想逃但是逃不出來 …
  10. 事實上 … Brooks 定律 「在一個已經 delay 的 project 中增加人手 只會讓他更落後

    !」 「人月神話」的迷思 花費的時間 - 專案有多少連續性限制 投注的人力 - 可以被切分成多少獨立的子工作
  11. 失敗失敗失敗 … 修好的 bug 很可能會導致其他 bug 出現 ! Pascal :

    「任何事物總是在最一開始的時候最完美」