[心得] JavaScript 产生你的程式码片段

楼主: sky810684 (sky172839465)   2019-06-07 09:33:53
各位 端午节快乐!
趁著放假写了篇有趣的心得,最近用 JS 刷 LeetCode ,同时想加上测试与笔记,
可是要一个个手动加上去很麻烦啊!所以这篇文章就诞生了!
Medium:https://medium.com/yusong-blog/9a74ca06a7d5
事情是这样子的
最近试着用 JavaScript 写 LeetCode ,每解开一个问题预计会产出
题目的解答、解答的测试案例、解答的笔记并且将这些档案的连结写入专案的描述里,
一共 1 个资料夹加上 5 个档案,如连结所示:
https://yusong.page.link/leetcode-in-js-structure
1. src/easy/0001-two-sum/index.js 题目的解答
2. src/easy/0001-two-sum/README.md 解答的笔记
3. src/easy/index.js 给测试案例使用的解答共同的出口
4. __tests__/easy/0001-two-sum.test.js 解答的测试案例,确保解答符合需求
5. README.md 专案的描述,当有新解答时描述最底下的表格应跟着新增一笔
连结上是每次要开始新的一题需要先准备好的档案内容,真的非常枯燥又繁琐,
有时候还会漏了某个档案,尤其是加入新的专案描述…
这时候就会像面对考试时会突然觉得桌面的脏乱到不马上整理不行,
我也突然产生了一股不想办法解决这些重复性高的工作不行的使命感…
教练我只想写 Code
在想要怎么达成这个使命时,想到 Angular CLI 协助开发的体验挺好的!
只要在指令列输入 ng g c new-cmp 就会帮你把新的档案建立好,
并且连 import module 等等的语法都写好了!
稍微看一下 Angular CLI 的程式码后发现,其实是透过 NodeJS 产生档案,
再来只需要像印出九九乘法表把内容组一组输出成档案就好了!
透过 JavaScript 产生程式码片段
只要知道底下 2 件事即可产生任何客制化的程式码片段:
1. 要在浏览器外执行 JavaScript 可以透过 node index.js 在 NodeJS 上执行
2. 使用 NodeJS 的 File System API 产生档案
首先试着产生一个 hello world 的文字档
https://yusong.page.link/generate-hello-world-in-js
再来把前面提过九九乘法表在 markdown 上实作一次吧!
markdown 的表格字段如果变多了写起来很容易少写或多写,
所以能透过程式自动产生是最理想的
https://yusong.page.link/generate-nine-nine-table-in-js
最后加入一些套件,玩点有趣的花式操作 ,执行后询问使用者问题并将
回复结果做成 JavaScript Object 的格式写入档案 ans.js
1. npm init 初始化 package.json
2. npm i
作者: chuegou (chuegou)   2019-06-07 10:07:00
楼主: sky810684 (sky172839465)   2019-06-07 10:33:00
没有编辑好内文,被截掉了XD
作者: king22649   2019-06-07 10:58:00
vscode snippet?
作者: pig2014 (Rocking Man)   2019-06-07 13:22:00
题目也没多复杂,要刷不会用cpp吗
作者: CaptainH (Cannon)   2019-06-07 14:15:00
js社群的水准真是从来不让人失望
作者: loadingN (sarsaparilla)   2019-06-07 15:16:00
看到别人用ptt发medium 我就pass了
作者: jack42107 (小克)   2019-06-07 15:34:00
感谢分享 愿意分享就是推
作者: iven00000000 (Iven CJ7)   2019-06-07 17:17:00
可能是面试需求吧,我面试写python自然就用python练
作者: lightyen (lightyen)   2019-06-07 18:16:00
snippet +1
楼主: sky810684 (sky172839465)   2019-06-07 21:07:00
vscode 的 snippet 是针对目前的档案所以不太够用,需求中同时有好几个档案需要新的程式码片段或是更新甚至移除,这样还是需要一个个手动操作
作者: xxxorc   2019-06-07 22:37:00
若要推广的建议话要包成 command line binary 吧然后推到 npm 上, 这样就很好安装不懂这跟 js 社群有什么关系, 楼主是应该把内文直接贴上来分享就给推 不然这个版也没什么有趣的东西
楼主: sky810684 (sky172839465)   2019-06-07 23:37:00
感谢提醒,没有注意到贴连结要附上内文,这个心得只是希望不知道能这样用 NodeJS 的人可以多一些选择,然后自己写自己客制化的程式码片段,所以没必要放到 npm 上面 XD
作者: mepowerlmay (用心,找对人)   2019-06-08 01:42:00
产生器不是比较好?
作者: WashFreeID (免洗)   2019-06-08 12:02:00
觉得直接用vscode的leetcode套件会方便很多

Links booklink

Contact Us: admin [ a t ] ucptt.com