Pregunta

Tengo una función, parseQuery, que analiza una consulta SQL en una representación abstracta de esa consulta.

Estoy a punto de escribir una función que toma una representación abstracta de una consulta y devuelve una cadena de consulta SQL.

¿A qué debo llamar la segunda función?

¿Fue útil?

Solución

Creo que el verbo que quieres es 'componer'.

Otros consejos

El opuesto de parse es serializar

En la terminología del compilador, lo opuesto es "sin analizar". Específicamente, el análisis convierte una secuencia de tokens en árboles de sintaxis abstracta, mientras que la descompresión convierte los árboles de sintaxis abstracta en una secuencia de tokens.

componer? Cuando se analiza una consulta, se divide en sus partes constituyentes (tokens, etc.), al revés se componen las partes en una consulta de cadena.

Para complementar su nomenclatura existente, composeQuery se ve mejor.

Pero en el caso general, lo contrario de parse es ǝsɹɐd

Yo usaría uno de estos:

  • ToString ()
  • ToSQL ()
  • Render ()

Creo que " serializar " Es probablemente la palabra que quieres. Significa producir una representación textual de los datos que se pueden exportar (e importar) desde el programa.

El antónimo de 'analizar' es 'sintetizar'.

ToQueryString ()

Definitivamente render.

Yo lo llamaría constructQuery.

generar o emitir, posiblemente.

Solo para agregar algunas cosas.

Seguramente analizar es una palabra de dos vías.

Puede analizar un resumen en una consulta.

Puede analizar una consulta en un resumen.

La pregunta debería ser, cómo se llama la última parte del método, y porque en este caso está analizando un resumen para hacer una consulta, lo llamaría parseAbstract .

Para responder la pregunta, el análisis no tiene opuesto.

generateQuery, posiblemente? createQuery?

Elige tu opción

  • Generar
  • Volcado
  • Serializar
  • Emitir

Cada uno tiene connotaciones ligeramente diferentes.

componer, construir, generar, renderizar, condensar, reducir, toSQL, toString dependiendo de la naturaleza de la clase y sus operadores relacionados

Un compilador tradicional tiene dos partes: un analizador y un generador de código.

Para que pueda llamarlo "Generar". Por supuesto, aquí es un poco diferente porque el compilador no está escribiendo el código fuente. (a menos que sea un precompilador).

Posiblemente Formato (). o ToSQL () en su instancia?

unParse ()? Solo bromeo, me gustaría ir a toQueryString ()

¿aplanar?

El objeto de consulta analizado tal vez representa una jerarquía de condición, que está "acoplando" de nuevo en una cadena tridimensional.

Pero dado que va de un objeto a una cadena, realmente use toString o toSQL () o algo así. Además, si lo diseñó bien y está usando la aplicación correcta, puede cambiarle el nombre más tarde y simplemente pegar las cosas en los comentarios sobre lo que hace.

Yo diría que serialice y deserialice, en lugar de analizar y ...

Yo elegiría ToString (), ya que generalmente puedes encadenarlos (funciones opuestas, que te permiten pasar de Class1 a Class2 y viceversa)

DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );

Serialize () parece una buena opción, pero ya tiene un opuesto en Deserialize ().

En su escenario específico, como otro señaló, ToSql () es otra buena opción.

Yo usaría render

> 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>

Que es IMHO, lo opuesto a parse ()

> c = parse(b)

{ 'html': {
    'head': {
        'title': 'My Page'
    }
    'body': {
        'h1': 'Hello World',
        'p': 'This is a Paragraph'
    }
}

+1 para Generar, pero apunta a lo que estás generando, es decir, GenerateSQL ()

He votado a favor de 'componer', pero si no te gusta, también sugeriría 'construir'

¿Qué pasa con asSQL () o incluso más asQuery ()?

INHO Serializar, sintetizar son buenas opciones. Además, como ha llamado parseQuery, iré con codeQuery

Normalmente uso " parse " como método de conversión y, por lo tanto, no puedo encontrar una palabra opuesta para " convertir " (no puede "desconvertir" algo, ya que "desconvertir" es un tipo de conversión en sí).

pensando de esta manera, la mejor solución (para mí) es tener dos " parse " Métodos que reciben diferentes argumentos. Ejemplo (Java):

public class FooBarParser{

    public Foo parse(Bar bar);
    public Bar parse(Foo foo); 
}

deparse

Deparse es analizar, como:

  • descompilar es compilar
  • descomponer es componer
  • deserializar es serializar
  • degroovy es maravilloso :);)

El análisis / análisis no es un cambio de estructura, sino una conversión. Conversión precisa entre texto equivalente y formatos de árbol de sintaxis abstracta, manteniendo todas las relaciones & amp; estructura.

" Componer " significa cambio de estructura, por lo que no es del todo correcto. Sugiere combinar desde partes independientes separadas (generalmente por primera vez). Así como "descomponer" sugiere dividir en partes independientes. Cambian de forma, no solo de formato.

Una búsqueda rápida muestra el término utilizado en:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top