Определение пробельных правил HTML?

Форматирование SQL является областью, где существует большое различие и разногласие... Но fwiw, мне нравится фокусироваться на удобочитаемости и думать, что независимо от того, что Вы делаете, последовательно соответствуя любым правилам, которые уменьшают удобочитаемость, когда старое клише идет, "глупая непротиворечивость" ("Глупая непротиворечивость эльф для простых умов")

Так, вместо того, чтобы назвать их правилами, вот некоторые инструкции. Для каждого Главного пункта в SQL-операторе (Выбор, Вставьте, Удалите, От, Где, Наличие, Группа, Порядок... Я могу отсутствовать, некоторые) должно ЛЕГКО идентифицироваться. Таким образом, я обычно располагаю их с отступом на высшем уровне, все даже друг с другом. Тогда в рамках каждого пункта, я располагаю следующую логическую sub структуру с отступом равномерно... и так далее.. Но я не стесняюсь к (и часто делайте), измените шаблон, если бы в каком-либо отдельном случае это было бы более читаемо, чтобы сделать так... Сложные Операторы выбора являются хорошим примером. Поскольку что-либо, что требует горизонтальной прокрутки, уменьшает удобочитаемость чрезвычайно, я часто пишу, что комплекс (вложил) Case-выражения на нескольких строках. Когда я делаю, я пытаюсь сохранить начало такого выступа оператора на основе, он - логическое место в SQL-операторе и остальная часть отступа строк оператора несколько символов furthur...

код Базы данных SQL был вокруг в течение долгого времени, прежде, чем компьютеры имели нижний регистр, таким образом, существует историческое предпочтение верхних ключевых слов преобразования регистра, но я предпочитаю удобочитаемость по традиции... (и каждый инструмент, я использую цветовые коды ключевые слова теперь так или иначе)

, я также использовал бы псевдонимы Таблицы для сокращения суммы текста, который должен просканировать глаз, чтобы к grok структура запроса, пока псевдонимы не создают беспорядок. В запросе меньше чем с 3 или 4 таблицами Односимвольные псевдонимы прекрасны, я часто использую первую букву таблицы, если все там представляют в виде таблицы, запускаются с различной буквы... снова, независимо от того, что большинство способствует удобочитаемости. Наконец, если Ваша поддержка БД это, многие ключевые слова являются дополнительными, (как "Внутренний", "Внешнее", "Как" для псевдонимов, и т.д.) "В" (от Вставки В) является дополнительным на SQL-сервере - но не на Oracle) Так быть осторожным относительно использования этого, если Ваш код должен быть независимой платформой...

Ваш пример, я записал бы как:

Select column1, column2
From table1 T1
Where column3 In (Select Top(1) column4
                  From table2 T2
                     Join table3 T3
                         On T2.column1 = T3.column1)

Или

Select column1, column2
From table1 T1
Where column3 In 
     (Select Top(1) column4
      From table2 T2
         Join table3 T3
            On T2.column1 = T3.column1)

, Если бы там намного больше столбцов на избранном пункте, я расположил бы вторые и последующие строки с отступом... Я обычно НЕ придерживаюсь никакого строгого (один столбец за строку) вид правила, поскольку прокрутка veritcally почти так плоха для удобочитаемости, как прокрутка горизонтально, особенно если только первые десять столбцов экрана имеют какой-либо текст в них)

Select column1, column2, Col3, Col4, column5,
    column6, Column7, isNull(Column8, 'FedEx') Shipper,
    Case Upper(Column9) 
       When 'EAST'  Then 'JFK'
       When 'SOUTH' Then 'ATL'
       When 'WEST'  Then 'LAX'
       When 'NORTH' Then 'CHI' End HubPoint
From table1 T1
Where column3 In 
     (Select Top(1) column4
      From table2 T2
         Join table3 T3
            On T2.column1 = T3.column1)

Формат, код любым способом делает его самым читаемым...

8
задан fret 15 September 2009 в 08:12
поделиться

2 ответа

Примечание: все это требует, чтобы команды были в пакетном файле. Следовательно, двойные знаки % .

Вы можете использовать команду for , чтобы захватить вывод команды:

for /f "usebackq delims=" %%x in (`ScriptB`) do set args=%%x

, затем вы можете использовать этот вывод в другой команде:

AnotherScript %args%

] Это приведет к тому, что % args% будет содержать последнюю строку из вывода ScriptB . Если он возвращает только одну строку, вы можете свернуть это в одну строку:

for /f "usebackq delims=" %%x in (`ScriptB`) do AnotherScript %%x

При использовании вне пакетного файла вы должны использовать % x вместо %% x .

Однако, если ScriptB возвращает более одной строки, AnotherScript выполняется для каждой из этих строк. Вы можете обойти это - но только в пакетном файле - путем прерывания после первой итерации цикла:

10
ответ дан 5 December 2019 в 09:26
поделиться

Если вы пишете свой собственный анализатор HTML, я настоятельно рекомендую вам использовать алгоритм синтаксического анализа, указанный в спецификации HTML 5. http://www.whatwg.org/html5 Он охватывает большое количество крайних и угловых случаев, а также общие странности браузера. Браузеры не следуют правилам SGML, но все они ориентируются либо на то, что говорится в спецификации HTML 5, либо на функциональный эквивалент этого. Доступно несколько парсеров с открытым исходным кодом, реализующих алгоритм, поэтому в нем должно быть все необходимое.

3
ответ дан 5 December 2019 в 09:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: