Изменения

Perl code style

1781 байт добавлено, 18:51, 3 ноября 2014
м
Нет описания правки
Пробелами обрамляется большинство операторов — присваивания, сравнения, логические, арифметические и т. п. Исключение могут составлять слагаемые в арифметических выражениях, например, <tt>$a*10 + 5</tt>.
 
Файл всегда должен заканчивается переводом строки.
== Блоки ==
</code-perl></s>
ВСЕГДА == Программирование == Нежелательно пользоваться линейным поиском в массиве. Практически всегда лучше искать с помощью хеша. DRY (!!!) Если блок кода повторяется хотя бы ДВА раза — повторение следует СРАЗУ убрать и вынести в функцию. Никакого хардкода! Всё, что потенциально может различаться в разных системах и окружениях, должно быть вынесено из кода в параметры конфигурации. Если в проекте используется база данных, всегда должен существовать явный способ её инициализации либо специальными скриптами инициализации, либо просто SQL-файлом, входящими в код проекта и версионируемых вместе с ним. Иными словами, если новую базу данных легче всего инициализировать копированием с существующей (боевой или тестовой) системы — это беспредел. Также очень желательно, чтобы были и скрипты миграций (то есть, обновления схемы) БД — опять-таки хотя бы просто SQL-файлами. В SQL-запросах следует ВСЕГДА использовать bind-переменные, и лишь только в крайнем случае — подстановку значений с помощью <tt>$dbh->quote()</tt>.
Желательно использовать методы <tt>$dbh->select***</tt> и помнить о <tt>{Slice=>{}}</tt>, дающем возможность получить строчки из БД в самом удобном виде — в виде ссылки на массив хешрефов, например,
</code-perl></s>
Пары prepare/execute и построчный fetch имеет смысл использовать только при потоковой обработке очень больших наборов данных, и в этом случае '''при использовании MySQL обязательно включить mysql_use_result'''.