由线上支付服务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。
留言与评论(共有 0 条评论) |