"解析"的反义词是什么?

时间:2020-03-06 14:52:34  来源:igfitidea点击:

我有一个函数parseQuery,它将SQL查询解析为该查询的抽象表示。

我将要编写一个函数,该函数采用查询的抽象表示形式并返回SQL查询字符串。

我应该怎么称呼第二个功能?

解决方案

generateQuery,可能吗? createQuery?

可能是Format()。或者我们实例中的ToSQL()?

我称它为constructQuery。

ToQueryString()

我认为我们想要的动词是"组成"。

也许prettyPrintQuery?

可能产生或者发出。

" analyze"的反义词是" synthesize"。

unParse()?开个玩笑,我会去toQueryString()

撰写?解析查询时,将其分解为组成部分(令牌等),反之则是将这些部分组成一个字符串查询。

我认为"序列化"可能是我们想要的词。这意味着产生可以从程序导出(和导入)的数据的文本表示形式。

我将使用以下之一:

  • ToString()
  • ToSQL()
  • 使成为()

扁平化?

解析的查询对象可能表示条件层次结构,我们将其"展平"回一维字符串。

但是考虑到我们要从对象到字符串,实际上只使用toString或者toSQL()或者类似的东西。此外,如果我们精心设计并使用了正确的应用程序,则可以稍后对其进行重命名,并在其功能上添加注释。

只是添加一些东西。

解析肯定是两个词。

我们可以将摘要解析为查询。

我们可以将查询解析为摘要。

问题应该是,我们如何命名方法的后半部分,因为在这种情况下,我们正在解析摘要以进行查询,因此将其称为" parseAbstract"。

为了回答这个问题,解析没有相反的意义。

根据类及其相关运算符的性质,组成,构造,生成,呈现,压缩,缩减,toSQL,toString

传统的编译器分为两部分:解析器和代码生成器。

因此,我们可以将其称为"生成"。当然,这里有点不同,因为编译器没有编写源代码。 (除非它是预编译器)。

为Generate +1,但是根据我们要生成的内容进行修改,即GenerateSQL()

writeQuery。
解析是从字符串中读取它并创建对象(让我们说"实际")表示形式的行为。
相反的是将对象写入字符串。

我投票赞成"组成",但如果我们不喜欢,我也建议我们"建造"

我会说序列化和反序列化,而不是解析和...

解析的相反是序列化

绝对渲染。

在编译器术语中,相反的是" unparse"。具体来说,解析将令牌流转换为抽象语法树,而未解析将抽象语法树转换为令牌流。

我会选择ToString(),因为我们通常可以对它们进行链接嵌套(相反的函数,可以让我们从Class1传递到Class2,反之亦然)

DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );

Serialize()看起来是一个不错的选择,但在Deserialize()中已经有了相反的选择。

正如我们所指出的,在特定情况下,ToSql()是另一个不错的选择。

我相信我们正在寻找的答案是:"首先不要解析SQL或者组装SQL。使用对象/关系映射器,并通过解决已经解决了很长时间的问题,避免浪费雇主的钱。 "