“解析”的反义词是什么?

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

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

第二个函数叫什么?

45276 次浏览

GenerateQuery,可能吗? createQuery?

可能的格式()。或 ToSQL ()在您的实例?

我称之为 structQuery。

ToQueryString ()

我觉得你想要的动词是“创作”。

可能产生或发射。

“分析”的反义词是“综合”。

UnParse () ? 开玩笑的,我会选择 QueryString ()

作曲?当解析一个查询时,您将它分解为它的组成部分(标记等) ,相反的方法是将这些部分组合成一个字符串查询。

我觉得你应该用“连载”这个词。它意味着生成可以从程序导出(和导入)的数据的文本表示形式。

我会用这个:

  • ToString ()
  • ToSQL ()
  • 渲染()

压扁?

解析后的查询对象可能表示一个条件层次结构,您正在将该层次结构“扁平化”为一个1维字符串。

但是考虑到要从一个对象转换到另一个字符串,实际上只需要使用 toString 或 toSQL ()或类似的东西。此外,如果你设计得很好,并且使用了正确的应用程序,你可以稍后重命名它,只需在评论中添加它的功能就可以了。

只是添加一些东西。

毫无疑问,parse 是一个双向词。

您可以将摘要解析为查询。

您可以将查询解析为摘要。

问题应该是,该方法的后半部分叫什么名字,因为在这个实例中,您要解析一个抽象来生成一个查询,所以称之为 parseAbstract

要回答这个问题,解析没有对立面。

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

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

所以你可以称之为“生成”。当然,这里有一点不同,因为编译器没有编写源代码。(除非它是预编译器)。

+ 1表示 Generate,但附加您正在生成的内容,即 GenerateSQL ()

WriteQuery. 解析就是从字符串中读取对象并创建对象(比如说“实际”)表示的行为。 相反,将对象写入字符串。

我投票赞成“创作”,但如果你不喜欢这个词,我也建议“构建”

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

解析的反义词是 连载

绝对是渲染。

在编译器术语中,相反的是“ unparse”。具体来说,解析将标记流转换为抽象语法树,而解析将抽象语法树转换为标记流。

我会选择 ToString () ,因为您通常可以将它们链接起来(相反的函数,它们可以让您从 Class1传递到 Class2,反之亦然)

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

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

正如其他人指出的那样,在您的特定场景中,ToSql ()是另一个不错的选择。

我相信您要寻找的答案是: “首先不要解析 SQL 或组装 SQL。使用对象/关系映射器,停止通过解决已经解决了相当长一段时间的问题来浪费雇主的钱。”

.GetSqlQuery()是我的选择

那 asSQL ()或者更多的 asQuery ()呢?

为了补充您现有的命名,ComposQuery看起来最好。

但在一般情况下,parse 的反义词是 ǝsɹɐd

我会用渲染

> a = 'html': { 'head': {'title': 'My Page'}, 'body': { 'h1': 'Hello World', 'p': 'This is a Paragraph' } }


> b = render(a)


> console.log(b)


<html>
<head>
<title>My Page</title>
</head>
<body>
<h1>Hello World</h1>
<p>This is a Paragraph</p>
</body>
</html>

恕我直言,这是 parse ()的反义词

> c = parse(b)


{ 'html': {
'head': {
'title': 'My Page'
}
'body': {
'h1': 'Hello World',
'p': 'This is a Paragraph'
}
}

随你挑

  • 生成
  • 垃圾场
  • 连载
  • 发射

它们各有不同的含义。

INHO 序列化,合成是很好的选择。另外,由于您已经命名了 parseQuery,我将使用 codeQuery

离开

Deparse 解析为:

  • 反编译就是编译
  • 分解就是创造
  • 反序列化就是序列化
  • Degroovy 就是 groovy:) ;)

解析/离开不是结构的改变,而是转换。精确转换等效文本和抽象语法树格式,维护所有关系和结构。

“作曲”是指结构的改变,所以不太对。它建议从单独的独立部分进行组合(通常是第一次)。正如“分解”意味着分裂成独立的部分。它们改变形式,而不仅仅是格式。

一个快速搜索显示的术语使用在:

我通常使用“ parse”作为一种转换方法,因此,我找不到一个相反的词来表示“ Convert”。(你不能“反转换”某些东西,因为“反转换”本身就是一种转换类型)。

这样想的话,最好的解决方案(对我来说)是有两个“解析”方法,它们接收不同的参数:

public class FooBarParser{


public Foo parse(Bar bar);
public Bar parse(Foo foo);
}