把 Lint 讲透,给 ABAP 开发者的 JavaScript 代码装上一道前置闸门
我对Linter这件事,最早其实没有什么好印象。
做SAPUI5的那几年,浏览器开发者工具几乎就是我的随身急救箱。页面报错了,开console。绑定不生效了,盯着网络请求和堆栈。控制器里手一滑敲错一个变量名,或者某个formatter在边界条件下直接抛异常,也都是跑起来以后才发现。这样的工作方式做久了,人会慢慢形成一种错觉,仿佛前端开发天生就该这样,先运行,再挨打,再修。
问题在于,这种节奏和我们做ABAP时养成的习惯,根本不是一回事。
在ABAP世界里,我们太熟悉静态检查了。语法检查是一道门,Pretty Printer是一道门,Code Inspector和ATC又是另外几道门。很多问题还没等程序跑起来,就已经在编辑器或者检查器里被拦住了。正因为这套前置机制太自然了,很多ABAPer一脚跨进JavaScript世界时,会下意识接受一种更原始的反馈链路,写完,运行,报错,回头改。时间久了,甚至会觉得浏览器才是真正可靠的老师。
我后来才慢慢意识到,自己并不是不会做代码质量控制,只是把一套本来很熟悉的思路,硬生生留在了ABAP那边,没有带到JavaScript这边来。
Lint恰好就是这座桥。
