Mam funkcję parseQuery, która analizuje zapytanie SQL w abstrakcyjną reprezentację tego zapytania.
Mam zamiar napisać funkcję, która pobiera abstrakcyjną reprezentację zapytania i zwraca ciąg zapytania SQL.
Jak nazwać drugą funkcję?
Mam funkcję parseQuery, która analizuje zapytanie SQL w abstrakcyjną reprezentację tego zapytania.
Mam zamiar napisać funkcję, która pobiera abstrakcyjną reprezentację zapytania i zwraca ciąg zapytania SQL.
Jak nazwać drugą funkcję?
Odpowiedzi:
Myślę, że żądany czasownik to „komponować”.
Przeciwieństwem parsowania jest serializacja
W terminologii kompilatora przeciwieństwem jest „nieporównywalny”. W szczególności analizowanie zamienia strumień tokenów w abstrakcyjne drzewa składni, podczas gdy cofanie analizy przekształca abstrakcyjne drzewa składniowe w strumień tokenów.
Komponować? Podczas analizowania zapytania dzieli się je na części składowe (tokeny itp.). Odwrotną czynnością byłoby komponowanie tych części w zapytanie łańcuchowe.
Aby uzupełnić istniejące nazewnictwo, composeQuery wygląda najlepiej.
Ale w ogólnym przypadku przeciwieństwem parsowania jest ǝsɹɐd
Myślę, że „serializacja” to prawdopodobnie słowo, którego potrzebujesz. Oznacza to tworzenie tekstowej reprezentacji danych, które można eksportować (i importować) z programu.
Zdecydowanie renderuj.
być może generują lub emitują.
Po prostu dodam trochę rzeczy.
Z pewnością parsowanie jest słowem dwukierunkowym.
Możesz przetworzyć streszczenie w zapytanie.
Zapytanie można przetworzyć w streszczenie.
Pytanie powinno brzmieć, jak nazwiesz drugą część metody, a ponieważ w tym przypadku analizujesz streszczenie, aby utworzyć zapytanie, które nazwałbyś parseAbstract
.
Aby odpowiedzieć na to pytanie, analizowanie nie ma odwrotności.
Wybieraj
Każdy z nich ma nieco inne konotacje.
Może prettyPrintQuery ?
Tradycyjny kompilator składa się z dwóch części: parsera i generatora kodu.
Możesz więc nazwać to „Generuj”. Oczywiście jest tu trochę inaczej, ponieważ kompilator nie pisze kodu źródłowego. (chyba że jest to prekompilator).
Prawdopodobnie Format (). lub ToSQL () w Twojej instancji?
unParse ()? Żartuję, poszedłbym z toQueryString ()
spłaszczyć?
Przeanalizowany obiekt zapytania prawdopodobnie reprezentuje hierarchię warunków, którą „spłaszczasz” z powrotem do jednowymiarowego ciągu.
Ale biorąc pod uwagę, że przechodzisz od obiektu do łańcucha, naprawdę użyj po prostu toString lub toSQL () lub czegoś w tym rodzaju. Poza tym, jeśli dobrze ją zaprojektowałeś i używasz odpowiedniej aplikacji, możesz zmienić jej nazwę później i po prostu wstawiać rzeczy w komentarzach na temat tego, co robi.
Powiedziałbym serializować i deserializować, zamiast analizować i ...
Wybrałbym ToString (), ponieważ zwykle można je zagnieżdżać łańcuchowo (przeciwne funkcje, które pozwalają przejść z klasy 1 do klasy 2 i odwrotnie)
DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );
Serialize () wygląda na dobry wybór, ale ma już przeciwieństwo w Deserialize ().
W twoim konkretnym scenariuszu, jak wskazali inni, ToSql () jest kolejnym dobrym wyborem.
Użyłbym renderowania
> 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>
Co to jest IMHO, przeciwieństwo parsowania ()
> c = parse(b)
{ 'html': {
'head': {
'title': 'My Page'
}
'body': {
'h1': 'Hello World',
'p': 'This is a Paragraph'
}
}
Zwykle używam „parsowania” jako metody konwersji i dlatego nie mogę znaleźć przeciwnego słowa dla „konwersji”. (nie można „dekonwertować” czegoś, ponieważ „niekonwertowanie” jest rodzajem konwersji).
myśląc w ten sposób, najlepszym rozwiązaniem (dla mnie) jest posiadanie dwóch metod „parsowania”, które otrzymują różne argumenty. Przykład (Java):
public class FooBarParser{
public Foo parse(Bar bar);
public Bar parse(Foo foo);
}
deparse
Deparse jest do analizy, jak:
Parsowanie / deparowanie nie jest zmianą struktury, ale konwersją. Precyzyjna konwersja między równoważnym tekstem i abstrakcyjnym drzewem składni, zachowując wszystkie relacje i strukturę.
„Komponuj” oznacza zmianę struktury, więc nie jest do końca poprawne. Sugeruje połączenie z oddzielnych niezależnych części (zwykle po raz pierwszy). Tak jak „dekompozycja” sugeruje podział na niezależne części. Zmieniają formę, a nie tylko format.
Szybki program wyszukiwania to termin używany w: