我有一个函数 parseQuery,它将 SQL 查询解析为该查询的抽象表示。
我即将编写一个函数,该函数采用查询的抽象表示并返回一个 SQL 查询字符串。
第二个函数叫什么?
GenerateQuery,可能吗? createQuery?
可能的格式()。或 ToSQL ()在您的实例?
我称之为 structQuery。
ToQueryString ()
我觉得你想要的动词是“创作”。
也许是 漂亮的打印查询?
可能产生或发射。
“分析”的反义词是“综合”。
UnParse () ? 开玩笑的,我会选择 QueryString ()
作曲?当解析一个查询时,您将它分解为它的组成部分(标记等) ,相反的方法是将这些部分组合成一个字符串查询。
我觉得你应该用“连载”这个词。它意味着生成可以从程序导出(和导入)的数据的文本表示形式。
我会用这个:
压扁?
解析后的查询对象可能表示一个条件层次结构,您正在将该层次结构“扁平化”为一个1维字符串。
但是考虑到要从一个对象转换到另一个字符串,实际上只需要使用 toString 或 toSQL ()或类似的东西。此外,如果你设计得很好,并且使用了正确的应用程序,你可以稍后重命名它,只需在评论中添加它的功能就可以了。
只是添加一些东西。
毫无疑问,parse 是一个双向词。
您可以将摘要解析为查询。
您可以将查询解析为摘要。
问题应该是,该方法的后半部分叫什么名字,因为在这个实例中,您要解析一个抽象来生成一个查询,所以称之为 parseAbstract。
parseAbstract
要回答这个问题,解析没有对立面。
根据类及其相关运算符的性质,组合、构造、生成、呈现、浓缩、减少、 toSQL、 toString
传统的编译器有两部分: 解析器和代码生成器。
所以你可以称之为“生成”。当然,这里有一点不同,因为编译器没有编写源代码。(除非它是预编译器)。
+ 1表示 Generate,但附加您正在生成的内容,即 GenerateSQL ()
WriteQuery. 解析就是从字符串中读取对象并创建对象(比如说“实际”)表示的行为。 相反,将对象写入字符串。
我投票赞成“创作”,但如果你不喜欢这个词,我也建议“构建”
我会说序列化和反序列化,而不是解析和..。
解析的反义词是 连载
绝对是渲染。
在编译器术语中,相反的是“ unparse”。具体来说,解析将标记流转换为抽象语法树,而解析将抽象语法树转换为标记流。
我会选择 ToString () ,因为您通常可以将它们链接起来(相反的函数,它们可以让您从 Class1传递到 Class2,反之亦然)
DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );
Serialize ()看起来是一个不错的选择,但是在 Deserialize ()已经有了相反的选择。
正如其他人指出的那样,在您的特定场景中,ToSql ()是另一个不错的选择。
我相信您要寻找的答案是: “首先不要解析 SQL 或组装 SQL。使用对象/关系映射器,停止通过解决已经解决了相当长一段时间的问题来浪费雇主的钱。”
.GetSqlQuery()是我的选择
.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 解析为:
解析/离开不是结构的改变,而是转换。精确转换等效文本和抽象语法树格式,维护所有关系和结构。
“作曲”是指结构的改变,所以不太对。它建议从单独的独立部分进行组合(通常是第一次)。正如“分解”意味着分裂成独立的部分。它们改变形式,而不仅仅是格式。
一个快速搜索显示的术语使用在:
我通常使用“ parse”作为一种转换方法,因此,我找不到一个相反的词来表示“ Convert”。(你不能“反转换”某些东西,因为“反转换”本身就是一种转换类型)。
这样想的话,最好的解决方案(对我来说)是有两个“解析”方法,它们接收不同的参数:
public class FooBarParser{ public Foo parse(Bar bar); public Bar parse(Foo foo); }