Что такое нейминг в программировании

Стили именования переменных и функций. Используйте их все

Авторизуйтесь

Стили именования переменных и функций. Используйте их все

Чтобы обеспечить легкую читаемость кода программисты используют разные стили именования для разных типов объектов, функций и переменных. Именно поэтому нет какого-то одного «идеального» формата. Выбор уместного стиля поможет быстро понять к какому типу относится сущность в коде, но не забывайте и о том, что имя должно объяснять что делает это сущность. Мы расскажем какой стиль существует для каждой из возможных ситуаций.

В программировании пробел является зарезервированным символом, поэтому все названия обходятся без него. Чтобы строки без пробелов всё же напоминали естественный язык и нужны все эти кейсы.

camelCase (dromedaryCase)

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

PascalCase (CamelCase, StudlyCase)

В этом стиле каждое слово начинается с заглавной буквы. Обычно используется для названий классов.

snake_case (pothole_case)

Вместо пробела ставится нижнее подчёркивание. Используется в основном для имён полей баз данных, переменных и функций.

SCREAMING_SNAKE_CASE (MACRO_CASE, CONSTANT_CASE)

Тот же snake_case, только буквы всегда в верхнем регистре. Обычно используется для именования констант.

kebab-case (dash-case, lisp-case)

В этом случае пробел заменяется дефисом. Используется в URL и CSS. В языке Lisp так пишутся любые названия. Примеры:

TRAIN-CASE (COBOL-CASE, SCREAMING-KEBAB-CASE)

Все буквы в верхнем регистре, соединены дефисом. Применяется в языке COBOL для всех названий. Пример:

Train-Case (HTTP-Header-Case)

Каждое слово с большой буквы, соединены дефисом. Стиль названий HTTP заголовков. Пример:

flatcase

Все слова в нижнем регистре, без пробелов. Используется в тегах. Пример:

Источник

Кратко о нейминге в JS

Привет, Хабр! Решил затронуть тему наименования сущностей в Javascript. По работе довольно много взаимодействую со стажёрами и насмотрелся всякого. Вот и подумал, что было бы неплохо собрать в одной небольшой заметке принятые на сегодняшний день правила наименования сущностей в JavaScript сообществе. Возможно собрал не все, поэтому буду признателен если дополните меня в комментариях.

Именование сущностей

Именование очень важно в разработке ПО. Как мы знаем, код пишется в первую очередь для людей, которые будут его читать(для программистов). Неудачное именование может существенно повысить трудозатраты на разработку или поддержку проекта из-за того, что будет тратится лишнее время на чтение кода, т.к. при плохом нейминге затруднён процесс интерпретации «что есть что в коде».

Существуют разные синтаксические формы наименования, их очень много, некоторые уже не употребляются. Вот самые употребимые в js:

Однобуквенные идентификаторы

В институтах очень часто используют однбуквенные идентификаторы в коде. Я вижу этот стиль кодирования у половины ребят, которые приходят после ВУЗов. Это очень порочная практика. Название должно наглядно описывать сущность. В наше время использовать однобуквенные идентификаторы — признак дурного тона. Исключениями могут быть счётчики и индексы, т.е. ситуации, где и одной буквы более чем достаточно для передачи сути сущности.

Транслит в имени

Также очень популярно среди студентов использовать транслит. Разумеется это тоже признак дурного тона и плохого кода. Никакого транслита в нейминге быть не должно, т.к. общепринятым языком в программировании является английский. Разрабатывая код мы должны использовать международный язык, который знают профессионалы в любой стране. Русский транслит к таковым не относится.

Именование переменных и классов

Переменные именуются в lower camelCase :

Классы именуются в CamelCase :

Действия

Очень важно для нейминга действий(например, функций) использовать глаголы. Нужно выбирать такой глагол. который соответствует типу действия.
Например:

checkNumberIsEven — хорошее название. сразу понятно, что функция проверяет число на чётность.

Также хорошее название isEven — если эта функция лежит в каком — нибудь /helpers/number.js, то даже такого короткого названия более чем достаточно, т.к. сама директория указывает нам на то, что в неё лежат функции по работе с числами.(но даже тут можно использовать первый вариант, т.к. в файле, который использует данную функцию, может быт довольно много кода, а вызов быть где нибудь в середине. )

Функции далеко не всегда являются действиями, это тоже важно понимать.
Например,

Эта функция генерирует нам арифметическую прогрессию, но действием не является, т.к. в виду своей декларативности считается определение арифметической прогрессии. Важно уметь различать этот момент. Сюда же относятся функции определяющие константы.

Предикаты

Выше мы обсуждали функцию

Такой тип функций называют предикатами. Предикат — утверждение о чём либо. Так называют функции выполняющиеся проверки «сущность есть что-то». Предикат в программирование всегда возвращает булевое значение.

Как правило предикаты именуются через форму третьего лица единственого числа английского вспомогательного глагола to be, т.е. is.

Некоторые предикаты определяют вхождение(наличие) искомого элемента(свойства или метода или item’a) в сущности. Такие предикаты. как правило начинаются с английского глагола has(3е лицо единственное число глагола to have). Например, безопасная форма Object.prototype.hasOwnProperty может выглядеть так:

Если сущность представляет собой количество чего-либо, то стоит использовать слово count в названии.

Источник

Совершенный код: именование в программировании

Что самое трудное в работе программиста? Выдумывать имена для переменных.

Эта шутка пользуется популярностью среди программистов не случайно. Именование часто становится причиной целых баталий. И действительно, то, как мы именуем наши сущности (функции/переменные/константы/классы/модули), имеет большое значение, ведь большую часть времени мы читаем код, а не пишем.

Нотация

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

В реальности их гораздо больше, хотя многие вышли из обихода и не употребляются, либо употребляются крайне редко (по крайней мере, вряд ли многие помнят COBOL-CASE ).

Возникает вопрос, какой выбрать стиль? Ответ очень прост. В каждом конкретном языке программирования существует общепризнанный — часто официальный — стандарт кодирования. Именно он должен являться для вас ориентиром. Потратьте время, найдите стандарт для вашего языка и пробегитесь по нему, обычно он лежит на гитхабе и содержит большое количество показательных примеров.

Размер имеет значение

Те, кто сдавал лабораторные по программированию, хорошо помнят, что большинство переменных в них были однобуквенными. Интересный факт состоит в том, что в первых языках программирования идентификаторы были таки односимвольными, как обозначения в математике. Первым языком, судя по всему, который начал использовать слова как идентификаторы, был лисп. С тех пор (шестидесятые) утекло много воды и использование однобуквенных идентификаторов в современном мире рассматривается как моветон.

И все же их можно и нужно использовать в некоторых ситуациях. Обычно это счетчики и индексы.

Сущность-Действие

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

Предикаты

Если учесть, что в указанных языках вызов функции не требует скобок в конце, то такая форма смотрится особенно естественной.

Вхождение

Количество

Это правило важнее даже в другом варианте, а именно, как не надо называть переменную, обозначающую количество:

Такое именование гарантированно вводит в заблуждение. Сущность во множественном числе всегда должна обозначать только коллекцию.

Источник

Нотации в программировании: верблюд, змея, шашлык и другие

Пять способов соединить слова в одно длинное название — с вариациями и пояснениями.

Анастасия Телесницкая для Skillbox Media

Часто для хорошего имени переменной или метода программистам не хватает одного слова. Например, название метода calculate, конечно, намекает на то, что в нём что-то вычисляется, но что конкретно — непонятно, нужны ещё слова.

Проблема с языками программирования в том, что пробелы в названиях там недопустимы — нельзя назвать метод calculate elephant weight. Поэтому появились многочисленные варианты соединения слов с помощью изменения регистра букв или дописывания символов-разделителей.

Соглашения об именовании переменных, констант и других идентификаторов в программном коде называют нотациями.

Расскажем, какие нотации существуют и для чего они используются.

Фулстек-разработчик. Любимый стек: Java + Angular, но в хорошей компании готова писать хоть на языке Ада.

Верблюжья нотация (сamel case, camelCase)

Первое слово пишется со строчной буквы, следующие — с заглавной, разделителей между составными частями нет. Торчащие посреди итогового названия заглавные буквы напомнили кому-то горбы верблюда — так возникло название нотации.

Используется во многих языках программирования для именования переменных, функций, методов — например, в Java, JavaScript, PHP. В языке Go в camelCase объявляют внутренние поля и методы.

Язык Go вообще чувствителен к именам: от того, с какой буквы, строчной или заглавной, начинается имя переменной, зависит её область видимости — то, какие другие компоненты приложения смогут к этой переменной обратиться.

Для внутренних переменных подходит camelCase, а для публичных (экспортируемых) обязательно делать первую букву названия заглавной, то есть именовать в стиле PascalCase.

Нотация Паскаля (Pascal case, PascalCase)

Тот же camelCase, но все слова, даже первое, начинаются с заглавной буквы.

Стиль так называется вовсе не в честь Блеза Паскаля. Pascal case стал известным благодаря одному почти забытому языку Паскаль — в нём так именовались переменные, процедуры и функции.

А вот язык Паскаль, кстати, назван Никлаусом Виртом, его создателем, как раз в честь великого француза.

Иногда Pascal case называют upper camel case или, наоборот, camel case называют low Pascal case.

В XIX веке программирования ещё не было, зато уже были химия и химики. Один из них, некто Берцелиус, предложил в формулах веществ называть химические элементы одной или двумя буквами, а итог записывать в одно слово без пробелов. Причём первые буквы составляющих должны быть заглавными.

Благодаря этому прекрасному человеку мы до сих пор записываем формулу поваренной соли в виде NaCl, а не целиком Sodium Chloride или менее читабельно — NA CL.

Змеиная нотация (snake case, snake-case)

Слова разделяются символами подчёркивания — они как бы ползут по строке, в результате получается длииинное, как змея, название.

Используется, например, в языках Python и Rust для имён переменных и функций.

Если в предыдущем примере заменить все буквы на заглавные, то получится SCREAMING_SNAKE_CASE (кричащая змеиная нотация).

Эту вариацию чаще всего применяют для определения констант — в тех же Python и Rust, Java, PHP и многих других.

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

Исследование Бониты Шариф и её коллег по Кентскому университету показало, что имена, разделённые подчёркиваниями, быстрее распознаются. Чтобы это доказать, учёные записывали движения глаз участников эксперимента, пока те читали названия в разных нотациях.

Шашлычная нотация (kebab case, kebab-case)

В этой нотации слова разделяют символом дефиса. При некоторой доле фантазии можно представить, что слова при этом как бы насаживают на шампур — вот и получается шашлык (kebab).

Примеры использования мы каждый день видим в URL-адресах, ещё kebab-имена дают CSS-стилям и HTML-тегам. В стайлгайде для Angular (фреймворк для веб-разработки) в kebab-нотации рекомендуют называть файлы компонентов, сервисов и других элементов приложения.

Существует kebab-case со всеми заглавными буквами — это SCREAMING-KEBAB-CASE (кричащая шашлычная нотация). Второе название такого стиля — COBOL_CASE, потому что в нём записывают все названия в языке COBOL. Это старый, но очень живучий язык.

Проблема с этой нотацией в том, что знак дефиса можно интерпретировать как минус. Так что, если поставить этот разделитель не там, можно получить весёлые и странные баги.

Плоская нотация (flat case, flatcase)

Чтобы получить наименование в этом стиле, нужно просто записать слова рядом без пробелов, все буквы каждого слова должны быть строчными.

Переменные, классы и другие элементы программ обычно так не называют — их будет сложно разделить на слова при чтении, особенно если слов больше двух, как в примере. Зато плоская нотация встречается в именах пакетов. В Java, например, можно создать пакет com.example.flatcase.mypackage.

Но чаще всего такого рода длинные надписи мы видим в соцсетях — #этожеобычнаяпрактикадлятегов :)

Как выбрать нотацию

Лучшей нотации на все случаи жизни не существует. Для разных языков программирования есть разные соглашения о наименованиях — это свод правил с рекомендациями, какие имена стоит выбирать для разных элементов программы (переменных, классов, методов и тому подобного). Например, здесь такого рода соглашения для Python, а здесь — для Java.

Обычно разработчики придерживаются этих общепринятых рекомендаций, но никто не запрещает IT-компаниям устанавливать свои правила, если они не противоречат синтаксису языка. В таком случае лучше соблюдать местные соглашения — если, конечно, вы хотите задержаться в этой компании :-)

Мы на наших курсах не своевольничаем — учим называть переменные по всем канонам языка: будь то Java, C#, популярный сейчас R или другие из нашего каталога курсов. Бонусом к правилам наименования — навыки программирования на выбранном языке, а потом и помощь в трудоустройстве.

Источник

Нейминг: что это такое простыми словами

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

Подробно об этой сфере и пойдет речь в данной статье.

Что такое нейминг

Нейминг – это процесс разработки названия для компании или продукта. Под ним бренд или товар регистрируется и выводится на рынок. Самое важное требование для нейма – это оригинальность и простота, потенциальный потребитель должен легко его запомнить.

Нейминг – часть брендирования, одного из основных направлений в маркетинге. Эту сферу можно назвать отправной точкой в формировании положительного образа компании/продукта. Специалист, занимающийся придумыванием имен для коммерческих проектов, зовется неймером. Используя свою фантазию и творческий подход, он придумывает яркие, звучные и запоминающиеся комбинации.

Правила нейминга

Основные принципы, которые следует учитывать в процессе создания нейма:

Рекомендуется также применять различные методы психолингвистики, словообразования и позиционирования. При выборе нейма особое внимание обращается на лексическое значение, эмоциональную и стилистическую окраску, этимологию и морфологию, а также эстетику слов. Только с этим стоит не переусердствовать. Ведь главная задача нейминга – чтобы получившееся имя было понятным для широкой аудитории.

Этапы нейминга

Создание нейма для бренда происходит в несколько этапов.

После утверждения название должно соответствовать следующим критериям:

Проблемы, возникающие в процессе нейминга

На этапе выбора неймов нужно проверить, хорошо ли они звучат и читаются. На что следует обратить внимание:

Способы нейминга

А теперь поговорим о том, как создавать уникальные наименования. На войне все средства хороши. Используем:

Генераторы названий

Если нет времени или желания создавать наименование для бренда самостоятельно, можно использовать специальные генераторы. Но они скорее служат помощниками, нежели полноценной заменой авторского поиска.

На этом у меня все. Надеюсь, что процесс нейминга стал для вас более понятным. Удачи!

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • что такое неисключительное право на использование программного обеспечения
  • что такое неизвестное устройство в диспетчере устройств windows 10
  • Что такое негативная программа
  • Что такое не программированный калькулятор
  • Что такое начальный экран в windows

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии