У мене є функція, parseQuery, яка аналізує SQL-запит на абстрактне подання цього запиту.
Я збираюся написати функцію, яка має абстрактне подання запиту і повертає рядок запиту SQL.
Що я повинен називати другою функцією?
У мене є функція, parseQuery, яка аналізує SQL-запит на абстрактне подання цього запиту.
Я збираюся написати функцію, яка має абстрактне подання запиту і повертає рядок запиту SQL.
Що я повинен називати другою функцією?
Відповіді:
Я думаю, що потрібне дієслово - «скласти».
Протилежний розбору - серіалізувати
У термінології компілятора все навпаки - "непарне". Зокрема, розбір перетворює потік лексем у абстрактні синтаксичні дерева, тоді як розпарювання перетворює абстрактні дерева синтаксису в потік лексем.
Складати? Під час розбору запиту ви розбиваєте його на його складові частини (лексеми тощо), зворотний спосіб складатиме їх у рядковий запит.
Щоб доповнити існуючу назву, найкраще виглядає composeQuery .
Але в загальному випадку протилежний синтаксичний розбір є ǝsɹɐd
Я думаю, що "серіалізувати" - це, мабуть, слово, яке ти хочеш. Це означає створити текстове подання даних, які можна експортувати (та імпортувати) з програми.
Однозначно візуалізувати.
генерувати або випромінювати, можливо.
Просто додати деякі речі.
Безумовно, розбір - це двостороннє слово.
Ви можете розібрати конспект до запиту.
Ви можете розібрати запит на конспект.
Питання повинно бути, як ви називаєте останню частину методу, і тому, що в цьому випадку ви аналізуєте конспект, щоб зробити запит, ви б його назвали parseAbstract
.
Щоб відповісти на запитання, розбір не має протилежного.
Візьміть свій вибір
Всі вони мають дещо різні конотації.
Можливо доситьPrintQuery ?
Традиційний компілятор складається з двох частин: парсера та генератора коду.
Так ви могли б назвати це "Створити". Звичайно, тут трохи інакше, оскільки компілятор не пише вихідний код. (якщо тільки це не докомпілятор).
Можливо, Формат (). або ToSQL () у вашому випадку?
unParse ()? Жартую, я б пішов з toQueryString ()
сплющити?
Проаналізований об'єкт запиту, можливо, являє собою ієрархію умов, яку ви "згладжуєте" назад в 1 розмірний рядок.
Але враховуючи, що ви переходите від об'єкта до рядка, дійсно просто використовуйте toString або toSQL () або щось подібне. Крім того, якщо ви добре розробили його та використовуєте правильний додаток, ви можете перейменувати його пізніше та просто дописати речі до коментарів щодо того, що він робить.
Я б сказав, серіалізувати та десеріалізувати, замість розбору та ...
Я б пішов на ToString (), оскільки зазвичай ви можете їх вбудовувати в ланцюги (протилежні функції, які дозволяють вам переходити від Class1 до Class2 і навпаки)
DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );
Serialize () виглядає як приємний вибір, але в Deserialize () вже є протилежне.
У вашому конкретному сценарії, як інші зазначали, 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>
Що таке IMHO, протилежне до розбору ()
> c = parse(b)
{ 'html': {
'head': {
'title': 'My Page'
}
'body': {
'h1': 'Hello World',
'p': 'This is a Paragraph'
}
}
Зазвичай я використовую "розбір" як метод перетворення, і, отже, я не можу знайти протилежне слово для "конвертувати". (ви не можете "деконвертувати" щось, оскільки "unconvert" - це тип самого перетворення).
Думаючи таким чином, найкращим рішенням (для мене) є два методи "розбору", які отримують різні аргументи. Приклад (Java):
public class FooBarParser{
public Foo parse(Bar bar);
public Bar parse(Foo foo);
}
відходити
Deparse - це розбір, як:
Розбір / відхід - це не зміна структури, а перетворення. Точне перетворення між еквівалентними текстовими та абстрактними-синтаксичними форматами дерева, підтримуючи всі зв’язки та структуру.
"Скласти" означає зміну структури, тому це не зовсім правильно. Він пропонує поєднувати з окремих незалежних частин (як правило, вперше). Так само, як "розкласти", пропонується розділити на самостійні частини. Вони змінюють форму, а не лише формат.
Швидкий пошук показує, що термін використовується в межах: