Однострочные операторы
Т.к. в операторе if () {} фигурные скобки обязательны, но есть его постфиксный аналог, велик соблазн писать короткие операторы вроде
в таком виде:
Делать так
крайне не рекомендуется. Это ухудшает общую читабельность программы, затрудняет её пошаговую отладку, затрудняет понимание причин невыполнения оператора. Исключение составляют flow control операторы. Их надо писать в одну строчку, окружая условие скобками:
Ни в коем случае не пишите так:
и уж тем более так:
В качестве «краткого вида записи условных операторов» допустимы также следующие конструкции:
Фактически, «и»/»или» используются здесь в качестве if'ов. Поэтому для того, чтобы подчеркнуть отличие от «и»/»или» в if (), используем в таких конструкциях or и and (и НЕ используем || и &&).
В условиях под if (), наоборот, используем || и && (и НЕ используем or и and):
Другое
Сложные регулярные выражения пишем на нескольких строках, при необходимости вставляем комментарии. Пример — см. в
cookbook.
SQL-ные запросы стараемся писать структурированно:
Если для обхода хэша не важен порядок, не используйте foreach (keys(%h)) — она создаёт временный массив и при болшом хэше съест много памяти.
Используйте конструкцию:
foreach можно использовать только для того, чтобы обойти хэш в определённой последовательности: