作者alan23273850 (God of Computer Science)
看板Soft_Job
標題Re: [討論] 記錄 code snippet 的好用工具
時間Sun Aug 26 19:12:40 2018
※ 引述《alan23273850 (God of Computer Science)》之銘言:
: 標題: [討論] 記錄 code snippet 的好用工具
: 時間: Sat Apr 28 14:54:19 2018
:
: 各位板友午安,本魯軟體板首次發文請小力鞭
: 是說最近常和同學討論到整理 code snippet 的重要,也就是功能導向的筆記
: 舉例來說,要測量程式執行的時間,
: 以 C 語言來說,可以是:
: clock_t start = clock();
: ... // code execution
: clock_t end = clock();
: printf("%f\n", (float)(end - start) / CLOCKS_PER_SEC);
: 但如果是以 python 而言,則是:
: import datetime
: before = datetime.datetime.now()
: ... // code execution
: after = datetime.datetime.now()
: print after - before
: 那麼各位工程師不覺得針對不同的功能,把所有語言的 code 整理在一起,
: 未來撰寫程式在翻閱或查閱的時候就更方便,不需要再敲 Google 關鍵字了呢?
: 台大資訊系劉邦鋒教授也有寫過 "由片語學習 C 程式設計" 一書,
: 雖然我沒讀過,不過我猜應該就類似書中那種以功能為導向整理過的感覺。
: 有沒有什麼好用的工具或方法能有條不紊地整理這些 code 呢?
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.84.181
: ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1524898463.A.BF0.html
: → x000032001: GitHub https://github.com/cirosantilli/cpp-cheat 04/28 15:34
: 推 Jasonzheng: 開發我用 SnippetsLab 04/28 16:53
: → Jasonzheng: 筆記我用 Quiver 04/28 16:53
: 推 Jasonzheng: 管理 Gist 我用 Lepton 04/28 16:57
: 推 pptsodog: Dash 04/28 18:07
: 推 fayhong: 這不是 http://rosettacode.org/wiki/Rosetta_Code 的目 04/28 18:12
: → fayhong: 的嗎? 04/28 18:12
: → alan23273850: 太感謝樓上幾位大大,我暑假有空會好好品嘗品嘗的 04/28 19:41
: 推 CRPKT: 我覺得當它們數量成長到一定程度之後就會變得難以分類了 04/28 21:52
: → CRPKT: 然後難以分類的情況下最好的方法就會變成關鍵字搜尋 XD 04/28 21:53
: → alan23273850: 這也是一個方法阿,例如我敲date就會跑出上面的code 04/28 22:52
: 推 t64141: cacher+gist不錯用 04/28 23:36
: 推 Piceman: 我推 Bear 04/29 17:09
: 推 andy80764: Dash 04/30 01:14
: 推 aszx4510: Lepton 好用 04/30 03:42
: → alan23273850: 後來發現這裡有各種統整:https://goo.gl/2VvZLk 08/26 00:43
各位板友好,我是原 PO,前幾個月有向各位詢問到有沒有整理 code 的好用工具,
感謝各位版上好手提供多方建議,我想在這邊記錄一下每種工具的特性,順便問個問題。
先給個某網站的大略統計結果
https://goo.gl/2VvZLk 有個感覺 (雖然有些不太可信),
經大量 survey 之後發現這種工具可以先概略分為
公用code 與
私人code 兩種,
公用 code 就是別人已經整理好的,我們只能拿來用,可以透過其他方式貢獻,只不過就
不能維護自己私有的片段,板友提供的有:
(a)
http://rosettacode.org/wiki/Rosetta_Code:提供將近 1100 多種的程式片段,
大部分是數學、演算法,但不限於此,其他功能像 GUI 或 IO 等雜項也很齊全。更重要
的是可以自己添加不同程式語言的例子或新增其他的 task,像工具書一樣。
(b)
https://github.com/cirosantilli/java-cheat:接下來是 cirosantilli 的大抄,
這邊以 java 為例,點進去可以看到裡面很多例子,不過跟 Rosetta 相比仍遠遠不足,
只能像是個人的少量備忘錄,我個人比較推 Rosetta。
(c)
https://kapeli.com/dash:Dash 的話我看官網截圖傾向是
各種語言的 API,介面看
起來蠻動人的,不過因為限 macOS,所以我沒試過,要在 Windows 上跑的話有 Velocity
(要錢) 與 Zeal (免費),
https://goo.gl/SEnJke 這裡有網站介紹可以看看,而我試用
Zeal 的感想是還不錯,有安裝版跟可攜版,剛開始都沒有文件,需要針對不同語言一個
一個安裝,因為文件都是從 Dash 來的,我猜效果就跟它差不多,除此之外還有跟編輯器
整合的 plugin ( 解說
https://zealdocs.org/usage.html ),功德圓滿。
而
私人 code 則僅是把自己寫的 code 整理起來,通常會備份在 gist 上,並且在本地
端提供良好介面供查詢取用,板友提供的有:Cacher、Lepton、SnippetsLab、Bear 四種,
因為 SnippetsLab 只有 macOS,Bear 不是專門給程式碼用的,這邊主要就只比較 Cacher
https://www.cacher.io/ 與 Lepton
https://hackjutsu.com/Lepton/ 兩種。
優點:
都會自動附上程式語言的 tag,
都可以自己加上其他 tag (label),
都會自動拿
gist 當作 backend database,
Cacher 有黑底背景主題,
Cacher 有多人協作功能,
Cacher 可與編輯器 (如 vscode) 整合,
Lepton 完全免費。
缺點:從 label 篩選 code 的時候一次
都只能挑一個 (也就是不能 tag 與 language 同時
篩),
都無法選擇本地端當作 code database,
Lepton 不能選背景 (白色),
Lepton
也不能多人協作,
Cacher 則是部分免費 (免費版本 private gist 有所限制),
Lepton 無與編輯器整合。
(2018/08/27)
經板友提醒,我這邊再補一下
Boostnote (
https://boostnote.io/ ) 的優缺點:
優點:可以自己標 label,code 可以放本地端,有黑底背景主題,可多重 tag 找尋,
而且也完全免費。
缺點:無程式語言 tag,無自動雲端備份 (只能利用雲端硬碟備份機制),無多人協作,
無編輯器整合。
原本決定是採用 Cacher,感覺比 Lepton 還好一些,只差在背景主題,不過經板友提點
感覺 Boostnote 又更優了。
以上大概就是我的備忘,另外我也蠻好奇有沒有完全只有我提到以上優點而非缺點的
manager,有知道的大大可以告訴我ㄇ,穴穴~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.218.113
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1535281969.A.4B5.html
推 splasky: code note 不過目前版本有bug 08/27 04:23
→ splasky: 功能較陽春 08/27 04:23
推 doranako: 推分享 08/27 09:37
→ alanturing: 我是用Boostnote 可以將多個snippet組合在同一頁 08/27 10:16
→ alanturing: 也可以透過mk來寫筆記 檔案同步在雲端即可 08/27 10:17
→ alan23273850: Boostnote我也有試過,不過它有另一個缺點就是無法 08/27 16:30
→ alan23273850: 自動偵測程式語言,當然我們也可以手動加上language 08/27 16:30
→ alan23273850: tag就是,不過就稍微麻煩些 08/27 16:30
推 bruce3557: 推用心整理~~ 08/27 16:33
→ alan23273850: 我後來發現它可以用 multi-tag search,感謝圖靈大 08/27 16:53
→ alan23273850: 大提醒,現在看來反而Boostnote比較適合我,當初怎 08/27 16:53
→ alan23273850: 麼沒想到呢 08/27 16:53
→ alan23273850: 目前測試發現 boostnote 的搜尋欄只會查找標題跟tag 08/27 16:56
→ alan23273850: 似乎不會對內容作搜尋 08/27 16:57
※ 編輯: alan23273850 (140.112.77.212), 08/27/2018 17:33:07
※ 編輯: alan23273850 (140.112.77.212), 08/27/2018 17:45:05
→ alanturing: 如果你是要語法高亮的話 Snippet Note左下角就有 08/27 17:55
推 james732: 推 08/27 17:58
※ 編輯: alan23273850 (140.112.218.113), 08/29/2018 20:48:13