Привет, Хабр! Меня зовут Антон Митрохин, я программист, который борется с депрессией. Вчера я прочитал статью о новом (на самом деле уже не очень) языке программирования Carbon. После этого я очень захотел тоже придумать что-то полезное, чем будут пользоваться люди, желательно много людей и долгие столетия. Но проблема в том, что я не самый умный программист, да еще и ленивый немного. Так что цель моя поменялась на такую: придумать что-то полезное и нужное, что я реализую очень быстро.

Думать долго не пришлось. Мои файлы в проекте конфликтуют с остальными файлами по принципу наименования имен переменных, функция, классов и т.д. Проще говоря, я использую не тот naming style. Почему? Потому что МнеТрудноЧитатьВотТакиеНазвания. Ну не воспринимает мой мозг CamelCase и все. Поэтому я пишу в стиле snake_case, а потом запускаю переименовывание всего и вся. Но это лишние телодвижения, а я, повторюсь, ленивый, поэтому решил создать идеальный naming style.

Для того, чтобы сделать это успешно и качественно, сначала нужно сравнить все существующие стили. Сравнивать будем по следующим критериям:

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

  • Компактность. Для сравнения compile_foo_and_boo_if_needed длиннее CompileFooAndBooIfNeeded на 5 символов. А это значит, что второй стиль компактнее на 17,2%.

Пример

Читаемость

Компактность

flat case

twowords

-

+

upper flat case

TWOWORDS

-

+

camel case

twoWords

-

+

pascal case

TwoWords

-

+

snake case

two_words

+

-

macro case

TWO_WORDS

+

-

camel snake case

Two_Words

+

-

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

Пример в стиле 
duRKaCase.
Пример в стиле duRKaCase.

Как пользоваться?

Этот стиль настолько идеален, что имеет всего одно правило написания.

  1. Никаких правил.

Побольше примеров.

Так можно:

  • DURKA_case

  • DURKAcase

  • dURKAcASE

  • DuRKaCaSe

А так нельзя:

  • см. правило 1.

Призываю всех пользоваться именно моим стилем, тогда работать будет НаМноГОвЕСЕлЕе и не будет конфликтов в наименованиях.

Комментарии (4)


  1. Carduelis
    27.07.2022 15:53
    +2

    Компактность. Для сравнения compile_foo_and_boo_if_needed длиннее CompileFooAndBooIfNeeded на 5 символов. А это значит, что второй стиль компактнее на 17,2%.

    Мне кажется, что стоит дополнить картину и посчитать медианное и среднее значение компактности.

    Также, я бы ввел коэффициент DurK-A (Durability Key (by) Anton), не знаю зачем, но нужно.


    1. Carduelis
      27.07.2022 15:56
      +2

      Разумеется, нужен eslint-plugin-durka плагин для Javascript экосистемы. Который бы проверял с помощью DurK-A коэффициента близость названия переменных к имеющимся Case'ам. Плагин не будет ругаться ни на что, разумеется. Просто проверять.


  1. Breathe_the_pressure
    27.07.2022 15:57
    +2

    Ты ЧиВо ТаКаЯ БукА? =))) (bashorg)


  1. FrolVII
    27.07.2022 16:03
    +1

    я программист, который борется с депрессией

    1. Никаких правил.

    <...>

    Призываю всех пользоваться именно моим стилем

    Если не можешь победить - возглавь.