SQLクエリをそのクエリの抽象表現に解析する関数、parseQueryがあります。
クエリの抽象表現を取り、SQLクエリ文字列を返す関数を作成しようとしています。
2番目の関数を何と呼ぶべきですか?
あなたが望む動詞は「作曲」だと思います。
parseの反対はserializeです
コンパイラの用語では、反対は「解析なし」です。具体的には、解析するとトークンのストリームが抽象構文ツリーに変わり、解析しないと抽象構文ツリーがトークンのストリームに変わります。
作成しますか?クエリを解析するとき、その構成要素(トークンなど)に分割します。逆は、部分を文字列クエリに構成します。
既存の命名を補完するには、composeQueryが最適です。
しかし、一般的な場合、解析の反対はǝsɹɐdです
次のいずれかを使用します。
「シリアライズ」はおそらくあなたが望む言葉だと思います。これは、プログラムからエクスポート(およびインポート)できるデータのテキスト表現を作成することを意味します。
「分析」の反意語は「合成」です。
ToQueryString()
確実にレンダリングします。
何かを追加するだけです。
確かに解析は双方向のWordです。
要約をクエリに解析できます。
クエリを抽象に解析できます。
質問は、メソッドの後半部分に何と名前を付けるかです。このインスタンスでは、抽象を解析してクエリを作成するため、parseAbstract
と呼びます。
質問に答えるために、構文解析には正反対がありません。
私はそれをconstructQueryと呼びます。
おそらく生成または放出します。
generateQuery、おそらく? createQuery?
好きなものを選んでください
それぞれにわずかに異なる意味合いがあります。
多分 prettyPrintQuery ?
クラスおよびその関連演算子の性質に応じて、作成、構築、生成、レンダリング、凝縮、削減、toSQL、toString
従来のコンパイラには、パーサーとコードジェネレーターの2つの部分があります。
したがって、「生成」と呼ぶことができます。もちろん、コンパイラはソースコードを記述していないため、ここでは少し異なります。 (プリコンパイラでない限り)。
おそらくFormat()。インスタンスのToSQL()?
unParse()?冗談ですが、toQueryString()を使用します
私は、解析と...の代わりに、シリアル化と逆シリアル化を言うでしょう.
平らにしますか?
解析されたクエリオブジェクトは、おそらく1次元の文字列に「フラット化」する条件階層を表します。
ただし、オブジェクトから文字列に移動する場合、実際にはtoStringまたは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'
}
}
ToString()に行くのは、通常、それらをチェーンネストできるからです(クラス1からクラス2に、またはその逆に渡すことができる関数の反対側)。
DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );
Serialize()はナイスな選択肢のように見えますが、Deserialize()にはすでに反対の機能があります。
特定のシナリオでは、他の人が指摘したように、ToSql()も良い選択です。
私は通常、変換方法として「解析」を使用しているため、「変換」の反対側の単語を見つけることができません。 (「変換解除」は一種の変換そのものなので、何かを「変換解除」することはできません)。
このように考えると、(私にとって)最善の解決策は、異なる引数を受け取る2つの「解析」メソッドを持つことです。例(Java):
public class FooBarParser{
public Foo parse(Bar bar);
public Bar parse(Foo foo);
}
AsSQL()またはさらに多くのasQuery()はどうですか?
INHOシリアライズ、シンセシスは良いオプションです。また、parseQueryという名前のとおり、codeQueryを使用します
生成のために+1、ただし生成するもの、つまりGenerateSQL()
「作曲」に投票しましたが、それが気に入らない場合は「ビルド」も提案します
deparse
解析は、次のように解析します。
解析/解析は構造の変更ではなく、変換です。同等のテキスト形式と抽象構文ツリー形式の間の正確な変換。すべての関係と構造を維持します。
「構成」は構造の変更を意味するため、まったく正しくありません。 (通常は初めて)別々の独立した部分から結合することをお勧めします。 「分解」が独立した部分への分割を示唆するように。形式だけでなく、フォームを変更します。
クイック検索ショーでは、以下で使用されている用語が表示されます。
writeQuery。解析は、文字列からそれを読み取り、オブジェクト(「実際」と言います)表現を作成する行為です。その反対は、オブジェクトを文字列に書き込むことです。
.GetSqlQuery()
が私の選択です