我有一个函数 parseQuery,用于将 SQL 查询解析为该查询的抽象表示。
我即将编写一个函数,接受一个查询的抽象表示并返回相应的 SQL 查询字符串。
第二个函数应该叫什么?
答:第二个函数可以命名为 buildQuery 或 generateQuery。我有一个函数 parseQuery,用于将 SQL 查询解析为该查询的抽象表示。
我即将编写一个函数,接受一个查询的抽象表示并返回相应的 SQL 查询字符串。
第二个函数应该叫什么?
答:第二个函数可以命名为 buildQuery 或 generateQuery。> 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'
}
}
展平?
解析的查询对象可能代表一个条件层次结构,您需要将其"展平"为一维字符串。
但考虑到你是从对象转化为字符串,真的只需要使用toString或toSQL()等方法。此外,如果您设计得好并且正在使用正确的应用程序,则可以稍后重命名它,并在注释中添加对其功能的说明。
DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );
Serialize()看起来是个不错的选择,但它的相反操作已经存在于Deserialize()中。
在你特定的场景中,正如其他人指出的那样,ToSql()也是另一个不错的选择。
那么asSQL()或者更进一步的asQuery()呢?
INHO Serialize和synthesize是不错的选择。另外,由于你已经将其命名为parseQuery,我会选择codeQuery。
我投票支持“compose”这个词,但如果你不喜欢的话,我也建议使用“build”
我通常使用“解析”作为转换方法,因此找不到“转换”的反义词。(你不能“取消转换”某些东西,因为“非转换”本身就是一种转换)。
从这个角度来看,对于我来说最好的解决方案是拥有两种接收不同参数的“解析”方法。例如(Java):
public class FooBarParser{
public Foo parse(Bar bar);
public Bar parse(Foo foo);
}
Deparse
Deparse是解析的反义词,就像:
解析/反解析不是结构的改变,而是转换。精确地在等效文本和抽象语法树格式之间进行转换,保持所有关系和结构。
"组合"意味着结构的改变,因此并不完全正确。它暗示了从独立的部分(通常是第一次)组合在一起。就像"分解"暗示将其分成独立的部分一样。它们改变形式,而不仅仅是格式。
快速搜索显示该术语在以下领域中使用: