Стандарты именования. Текущее положение дел

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

Для Питона стандарты появились в начале 2001 года - PEP-8

Для PHP - PSR начали зарождаться в начале 2010х годов

Руби и Javascript - Стандарты начали формировать компании, например AirBnb и энтузиасты

 

Во всех стандартах есть общие черты, но есть и различия

 

Глобальная проблема всех стандартов и объединения их в один заключается в том что они принимаются централизовано относительно лидеров сообщества, что влечет за собой некий субъективизм в результаты.

Единство дает преимущества переиспользования привычек. Разработчик привыкший писать в одном стиле с одними отступами на одном языке/платформе/фреймворке - можем сохранив привычки перейти куда либо в другую среду и быстро там освоиться.

Самый большой субъективизм в стандарты вносят спорные утверждения, принимаемые 51% сообщества. Если утверждение спорное - необходимо копать дальше, искать истинные причины расхождений и либо дробить утверждение на подпункты, либо не включать утверждение в стандарт, оставив на усмотрение проекта или разработчика

Спорные утверждения например являются ограничения в длине строки в 80 символов.

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

Так некоторые компании уже публично заявили что PHP-FIG они поддерживать не будут

Постепенно в культуру стандартизирования разработки приходят так называемые линтеры (linter) - утилита, проверяющая соответствие стандарту и запрещающая выполнение кода / выкладку в прод без исправления нарушений. А также наращивают мощь автоформатирования в IDE, помогающие следовать стандартам и позволить не обращать внимание на мелочи синтаксических форматов.

В некоторых стандартах (в том же питоне) встречаются весьма интересные заключения, например писать действия с высоким приоритетом в уравнении без пробела

c = (a+b) * (a-b)

Следующией стадией развития глобальной разработки будет переход на единые стандарты независимо от языка. И остальные языки будут стремиться максимально соответствовать единой массе. Так постепенно все приходят к мысли, что переменные лучше всего писать в camelCase, а константы в UPPER_CASE, Классы в PascalCase.

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

И эти нормы постепенно будут вытеснять существующие правила. Соответственно чем быстрее все их смогут освоить - тем быстрее

Sql пока что никто не решался стандартизировать. Некоторые orm задают языку свои правила именования. Но никто до сих пор не знает в единственном числе или множественном стоит назвать таблицы и колонки.

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

  • Автор: kosmom
  • Рейтинг: 0
  • Просмотров: 180
  • Комментариев: 0
  • Создан: 15.01.2020 19:32

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