我有一个函数 parseQuery,它将 SQL 查询解析为该查询的抽象表示。
我即将编写一个函数,该函数采用查询的抽象表示并返回 SQL 查询字符串。
我应该怎么称呼第二个功能?
我有一个函数 parseQuery,它将 SQL 查询解析为该查询的抽象表示。
我即将编写一个函数,该函数采用查询的抽象表示并返回 SQL 查询字符串。
我应该怎么称呼第二个功能?
我认为您想要的动词是“撰写”。
parse的反面是序列化
在编译器术语中,相反的是“未解析”。具体来说,解析将令牌流转换为抽象语法树,而反解析将抽象语法树转换为令牌流。
撰写?解析查询时,您将其分解为其组成部分(令牌等),相反会将这些部分组合成字符串查询。
为了补充您现有的命名,composeQuery看起来最好。
但在一般情况下,parse的反义词是ǝsɹɐd
我会使用其中之一:
我认为“序列化”可能是您想要的词。这意味着生成可以从程序中导出(和导入)的数据的文本表示。
“分析”的反义词是“综合”。
ToQueryString()
绝对渲染。
我称之为constructQuery。
可能产生或发射。
只是为了添加一些东西。
当然 parse 是一个双向词。
您可以将摘要解析为查询。
您可以将查询解析为摘要。
问题应该是,您将方法的后半部分命名为什么,因为在这种情况下,您正在解析一个摘要以进行查询,您将调用它parseAbstract
。
要回答这个问题,解析没有对立面。
生成查询,可能吗?创建查询?
任你选
它们各自的内涵略有不同。
compose、construction、generate、render、condense、reduce、toSQL、toString 取决于类及其相关运算符的性质
传统的编译器有两部分:解析器和代码生成器。
所以你可以称它为“生成”。当然,这里有点不同,因为编译器不编写源代码。(除非它是预编译器)。
可能是 Format()。还是您的实例中的 ToSQL()?
解解析()?开个玩笑,我会选择 toQueryString()
压扁?
解析的查询对象可能表示条件层次结构,您将其“展平”回一维字符串。
但是鉴于您要从对象到字符串,实际上只需使用 toString 或 toSQL() 或类似的东西。此外,如果您设计得很好并且使用了正确的应用程序,您可以稍后重命名它,然后在评论中添加内容。
我会说序列化和反序列化,而不是解析和...
我会选择 ToString(),因为您通常可以将它们链式嵌套(相反的函数,可让您从 Class1 传递到 Class2,反之亦然)
DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );
Serialize() 看起来是个不错的选择,但在 Deserialize() 中已经有了相反的选择。
正如其他人指出的那样,在您的特定场景中, ToSql() 是另一个不错的选择。
我会使用渲染
> 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'
}
}
+1 用于生成,但附加您正在生成的内容,即 GenerateSQL()
我投票支持“撰写”,但如果您不喜欢,我也建议“构建”
asSQL() 甚至更多 asQuery() 呢?
INHO Serialize、synthesize 都是不错的选择。另外,正如您命名为 parseQuery,我将使用 codeQuery
我通常使用“解析”作为转换方法,因此,我找不到与“转换”相反的词。(您不能“取消转换”某些东西,因为“取消转换”本身就是一种转换)。
这样想,最好的解决方案(对我来说)是有两个接收不同参数的“解析”方法。示例(Java):
public class FooBarParser{
public Foo parse(Bar bar);
public Bar parse(Foo foo);
}
去解析
deparse就是解析,为:
解析/解析不是结构的改变,而是转换。等效文本和抽象语法树格式之间的精确转换,保持所有关系和结构。
“组成”是指结构的变化,所以不太对。它建议从单独的独立部分组合(通常是第一次)。正如“分解”建议拆分成独立的部分一样。他们改变形式,而不仅仅是格式。
快速搜索显示该术语在以下范围内使用:
写查询。解析是从字符串中读取它并创建对象(假设是“实际”)表示的行为。相反的是将对象写入字符串。
.GetSqlQuery()
将是我的选择
我相信您正在寻找的答案是:“首先不要解析 SQL 或组装 SQL。使用对象/关系映射器并停止通过解决已经解决了很长时间的问题来浪费雇主的钱。 "