作者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://webptt.com/cn.aspx?n=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://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1535281969.A.4B5.html
1F:推 splasky: code note 不过目前版本有bug 08/27 04:23
2F:→ splasky: 功能较阳春 08/27 04:23
3F:推 doranako: 推分享 08/27 09:37
4F:→ alanturing: 我是用Boostnote 可以将多个snippet组合在同一页 08/27 10:16
5F:→ alanturing: 也可以透过mk来写笔记 档案同步在云端即可 08/27 10:17
6F:→ alan23273850: Boostnote我也有试过,不过它有另一个缺点就是无法 08/27 16:30
7F:→ alan23273850: 自动侦测程式语言,当然我们也可以手动加上language 08/27 16:30
8F:→ alan23273850: tag就是,不过就稍微麻烦些 08/27 16:30
9F:推 bruce3557: 推用心整理~~ 08/27 16:33
10F:→ alan23273850: 我後来发现它可以用 multi-tag search,感谢图灵大 08/27 16:53
11F:→ alan23273850: 大提醒,现在看来反而Boostnote比较适合我,当初怎 08/27 16:53
12F:→ alan23273850: 麽没想到呢 08/27 16:53
13F:→ alan23273850: 目前测试发现 boostnote 的搜寻栏只会查找标题跟tag 08/27 16:56
14F:→ 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
15F:→ alanturing: 如果你是要语法高亮的话 Snippet Note左下角就有 08/27 17:55
16F:推 james732: 推 08/27 17:58
※ 编辑: alan23273850 (140.112.218.113), 08/29/2018 20:48:13