J'ai une fonction, parseQuery, qui analyse une requête SQL en une représentation abstraite de cette requête.
Je suis sur le point d'écrire une fonction qui prend une représentation abstraite d'une requête et renvoie une chaîne de requête SQL.
Comment dois-je appeler la deuxième fonction?
Réponses:
Je pense que le verbe que vous voulez est «composer».
la source
Le contraire de l' analyse est sérialiser
la source
Dans la terminologie du compilateur, le contraire est "unparse". Plus précisément, l'analyse transforme un flux de jetons en arbres de syntaxe abstraites, tandis que l'annulation de l'analyse transforme les arbres de syntaxe abstraites en un flux de jetons.
la source
Composer? Lors de l'analyse d'une requête, vous la divisez en ses parties constituantes (jetons, etc.), l'inverse serait de composer les parties en une requête de chaîne.
la source
Pour compléter votre dénomination existante, composeQuery est plus esthétique .
Mais dans le cas général, l'opposé de l'analyse est ǝsɹɐd
la source
J'utiliserais l'un de ceux-ci:
la source
Je pense que "sérialiser" est probablement le mot que vous voulez. Cela signifie produire une représentation textuelle des données qui peuvent être exportées (et importées) à partir du programme.
la source
L'antonyme de «analyser» est «synthétiser».
la source
ToQueryString ()
la source
Certainement Render.
la source
Je l'appellerais constructQuery.
la source
générer ou émettre, éventuellement.
la source
Juste pour ajouter quelques trucs.
Parse est sûrement un mot bidirectionnel.
Vous pouvez analyser un résumé dans une requête.
Vous pouvez analyser une requête en un résumé.
La question devrait être, comment nommez-vous la dernière partie de la méthode, et parce que dans ce cas, vous analysez un résumé pour créer une requête que vous appelleriez
parseAbstract
.Pour répondre à la question, l'analyse n'a pas de contraire.
la source
generateQuery, peut-être? createQuery?
la source
Faites votre choix
Ils ont chacun des connotations légèrement différentes.
la source
Peut-être prettyPrintQuery ?
la source
composer, construire, générer, rendre, condenser, réduire, toSQL, toString selon la nature de la classe et ses opérateurs associés
la source
Un compilateur traditionnel comprend deux parties: un analyseur et un générateur de code.
Vous pouvez donc l'appeler "Générer". Bien sûr, c'est un peu différent ici car le compilateur n'écrit pas de code source. (sauf si c'est un précompilateur).
la source
Eventuellement Format (). ou ToSQL () dans votre instance?
la source
unParse ()? Je plaisante, j'irais avec toQueryString ()
la source
aplatir?
L'objet de requête analysé représente peut-être une hiérarchie de conditions, que vous «aplatissez» en une chaîne unidimensionnelle.
Mais étant donné que vous passez d'un objet à une chaîne, utilisez simplement toString ou toSQL () ou quelque chose comme ça. De plus, si vous l'avez bien conçue et que vous utilisez la bonne application, vous pouvez la renommer plus tard et simplement coller des éléments dans les commentaires sur ce qu'elle fait.
la source
Je dirais sérialiser et désérialiser, au lieu d'analyser et ...
la source
Je préférerais ToString (), car vous pouvez généralement les imbriquer en chaîne (fonctions opposées, qui vous permettent de passer de Class1 à Class2 et vice-versa)
Serialize () semble être un bon choix, mais il a déjà un contraire dans Deserialize ().
Dans votre scénario spécifique, comme d'autres l'ont souligné, ToSql () est un autre bon choix.
la source
J'utiliserais le rendu
Quel est IMHO, le contraire de parse ()
la source
+1 pour Generate, mais attachez-vous à ce que vous générez, c'est-à-dire GenerateSQL ()
la source
J'ai voté pour 'composer' mais si vous n'aimez pas cela, je suggérerais également 'construire'
la source
Qu'en est-il asSQL () ou encore plus asQuery ()?
la source
INHO Serialize, synthétiser sont de bonnes options. De plus, comme vous l'avez nommé parseQuery, j'irai avec codeQuery
la source
J'utilise généralement "parse" comme méthode de conversion et, par conséquent, je ne trouve pas de mot opposé pour "convertir". (vous ne pouvez pas "déconvertir" quelque chose, car "unconvert" est un type de conversion en soi).
en pensant de cette façon, la meilleure solution (pour moi) est d'avoir deux méthodes "parse" qui reçoivent des arguments différents. Exemple (Java):
la source
déparer
Deparse consiste à analyser, comme:
L'analyse / déparsage n'est pas un changement de structure, mais une conversion. Conversion précise entre le texte équivalent et les formats d'arbre de syntaxe abstraite, en maintenant toutes les relations et la structure.
"Composer" signifie un changement de structure, ce n'est donc pas tout à fait correct. Il suggère de combiner des parties indépendantes séparées (généralement pour la première fois). Tout comme "décomposer" suggère la division en parties indépendantes. Ils changent de forme, pas seulement de format.
Une recherche rapide montre le terme utilisé dans:
la source