各位 端午节快乐!
趁著放假写了篇有趣的心得,最近用 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