我的公司维护着一种在语法上类似于 Excel 公式语言的特定领域语言。我们正在考虑向该语言添加新的内置函数。一种方法是识别在我们的代码库中重复使用的详细命令。例如,如果我们看到人们总是编写相同的 100 个字符的命令来修剪字符串开头和结尾的空格,这表明我们应该添加一个trim
函数。
在代码库中查看常用子字符串列表将是一个好的开始(尽管有时由于使用了不同的变量名称,常用命令会相差几个字符)。
我知道有完善的算法可以做到这一点,但首先我想看看我是否可以避免重新发明轮子。例如,我知道这个概念是许多压缩算法的基础,那么是否有一个压缩模块可以让我检索频繁子串的字典?任何其他想法将不胜感激。