Stripe开源Ruby型别检查工具Sorbet 帮助开发者找Bug
报价宝综合消息Stripe开源Ruby型别检查工具Sorbet 帮助开发者找Bug
由线上支付服务Stripe打造的程式语言Ruby的型别检查工具Sorbet,现在宣布开源。由于Stripe中绝大多数的程式码都是由Ruby撰写而成,因此为了检测程式码中存在的型别不一致问题,造成潜在的安全性风险,历经一年半开发了Sorbet,现在结束实验阶段并正式对外开源。
开发者会在程式中定义变数的型别,以及函式回传的型别,而在很多时候,开发者会撰写出不连贯的程式码,像是在字串型别变数使用Map方法,这样的情况会让程式发生异常,而在动态型别程式语言,这类错误需要在执行期间才会引发问题,型别检查工具能够分析程式码,帮助开发者找出有问题的地方。

由于Ruby拥有松散的语法以及猴子修补的特性,虽然可以让开发者快速地拼凑出功能强大的应用程序,但是程式码也会产生许多有疑义或是混乱的状况,而Sorbet就是要用来解决这个问题,增加Ruby程式码的稳定性以及清晰度。
Stripe现在释出的Sorbet专案包含了核心静态检查工具、建立Sorbet专案的工具,帮助开发者逐步采用Sorbet的工具,还有用于编写型别注解的Runtime DSL,以及共享Ruby套件型别定义的中央储存库。
Sorbet同时具有静态和动态的型别检查功能,开发者可以使用命令列工具操作Sorbet,静态地分析专案,以找出程式码中潜在的错误,另外,也能使用Sorbet Runtime工具,这是一个Ruby套件,能够在程式码执行时动态检测型别。Stripe现在开源Sorbet,同时也呼吁开发者可以加入贡献的行列,帮忙回报并且修补bug。