为什么Eslint可以检查和修复格式问题,而Babel不可以?

Eslint 可以检查出代码中的错误和一些格式问题,并能自动修复,它的实现原理就是基于 AST (抽象语法树)。

通过 Parser 把源码解析成 AST 对象树,源码字符串中的各种信息就被保存到了这个对象树里,然后遍历 AST,对每一部分做检查就能实现 Lint 的功能,而自动 fix 的功能则是基于字符串替换实现的,指定某一段 range,替换成另一段文本即可。

说起来,Babel 也是基于 AST 实现的代码分析和转换,但是却不能检查和修复格式的问题,这是为什么呢?为什么 Eslint 可以检查格式而 Babel 不可以呢?

阅读剩余部分

封装一个Http Handler方便模拟Http API 响应

更方便地 Mock Http Response

Intro

在我们的业务代码中往往会有很多调用内部其他 team 或者是第三方的一些服务,在编写单元测试代码时,往往需要 Mock Http Response 来模拟更好可能的返回结果,我封装了一个简单的 Http Handler 来简化 Mock 过程,让基于 HttpClient Http Response 的模拟更为简单。

阅读剩余部分

C#如何通过反射调用某个对象的私有方法?

咨询区

  • Jeromy Irvine

我的类中有一组私有方法,我现在想根据灵活的输入值来动态调用其中的私有方法,代码类似是这个样子。

MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType);
dynMethod.Invoke(this, new object[] { methodParams });

代码跑起来后,我发现 dynMethod 并没有返回结果,请问我该如何配置才能正确的返回?

阅读剩余部分