本期技术雷达引入了两款使用抽象语法树表示进行搜索和替换代码的工具。它们与jscodeshift有相似的定位,但包含适用于多种编程语言的解析器。尽管它们有一些相似之处,但它们在某些方面还是有所不同。其中蜂巢状的工具的独特之处,在于其简单的命令行界面,该命令行界面是根据awk
和sed
等Unix工具的精神设计的。虽然Unix命令基于操作匹配文本的正则表达式,但蜂巢状的使用特定于编程语言结构的模式语法,并在搜索之前解析代码。这有助于开发人员在大型代码库中搜索结构模式。和sed
一样,蜂巢状的可以用新的结构替换它匹配的模式。这对于大型代码库进行自动批量更改,或在一组微服务存储库中进行重复更改非常有用。由于这些工具相当新,我们希望看到一系列尚未发现的创造性用途。