Материал для канала Мы ж программист

Когда программисты пишут код, они должны придерживаться определенных правил и соглашений, чтобы снизить количество ошибок и повысить читабельность кода. Одно из таких соглашений – именование сущностей.

Никогда не называйте переменные, функции и константы односложно и непонятно. Вы сэкономите секунду в моменте, но усложните восприятие логики кода себе или коллегам. Например, вместо переменной i используйте counter или даже visitsCounter, а вместо функции get функцию getVisitsCounter. Тогда код будет читаться легко, как книга. Подробнее всё это описано в классической литературе, обязательно читайте, например, “Совершенный код” Стива Макконнела.

Кроме того, существует несколько стилей формирования названий, характерных для разных языков и сценариев. Такой стиль записи называется нотация:

  • Сamel сase (camelCase) – стиль, при котором названия записываются без пробелов, но каждое слово, кроме первого – с заглавной буквы. Подходит для переменных и функций в Java/PHP/C#. Например, getVisitsCounter().
  • Pascal case (PascalCase) – тот же camel case, но первое слово записано с заглавной буквы, обычно используют для именования классов и типов. Кстати, назван в честь языка программирования Pascal, в нем писали консольные и даже десктопные приложения в 90-е годы и использовали как раз такую нотацию.
  • Snake case (snake_case) – стиль, при котором названия записываются со знаком подчеркивания вместо пробелов. Подходит для переменных и функций в Python/Ruby/C.
  • Screaming snake case – все слова записываются в верхнем регистре, так обычно обозначаются константы.
  • Kebab case (kebab-case) – слова записываются в нижнем регистре и разделяются дефисами. Подходит для имен файлов и названий CSS-классов.
  • Train сase (Train-Case) – слова начинаются с заглавной буквы и разделяются дефисом. Используется, например, в заголовках http-запросов.
  • Flat case (flatcase) – всё записано одной строкой. Нечитабельно, но иногда используется, в названиях пакетов в Java, например.

И еще про одну нотацию, она касается записи сравнения переменной с константой – нотация Йоды (или условие Йоды). Заключается в том, что при сравнении переменная и значение меняются местами: if (21 == $visitsCounter) . Такой подход позволяет избежать уязвимости при ошибке, когда вместо знака сравнения случайно или намеренно ставят знак присвоения, что является синтаксически верным и непросто отслеживается.