Русский
Русский
English
Статистика
Реклама

Мнение о PSR-1 Базовый стандарт написания кода

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


PSR-1: Базовый стандарт написания кода стандарт, которые рекомендует правила оформления и написания кода.Оформление как писать код, анаписание что писать.

Подтекст PSR-1 говорит о том, что не надо использовать смешивание кода и логических заключений кода. Немного не понятно выразился, но далее вы поймете, что PSR-1 не рекомендует писать класс, выводить на экран и заниматься инициализацией свойств в одном файле.

Все PHP файлы должны использовать либо<?php, либо<?=. Тут все очевидно и понятно, первый тег говорит об объявлении секции php кода, а второй краткая записьecho, то есть вывода.

Файлы также должны быть в кодировки UTF-8 без BOM, что вполне логично. Были как-то случае в проекте, где было несколько программистов. Так вот, там один как-то умудрялся вставлять BOM символ и из-за этого парсинг файлов ломался.

Тут же говорится, что не рекомендуется использовать несколько побочных эффектов (side effects). С переводом у меня не всегда все ладно... То есть мы не можем взять и написать в файле:

<?php// side effect: change ini settingsini_set('error_reporting', E_ALL);// side effect: loads a fileinclude "file.php";// side effect: generates outputecho "<html>\n";// declarationfunction foo(){    // function body}

Ну тут момент крайне спорный. Хотя стандарт рекомендует использовать автозагрузчик по своим стандартам PSR-0 и PSR-4. С одной стороны да, но может же быть инициализация приложения в единой точке входа. Короче, момент сомнительный. В том же самом Yii2 не соблюдается этот подход... Я бы не обращал внимания именно на эту рекомендацию.

Переходим в раздел имения классов и пространств имен (namespace). Тут я согласен, что файл класса должен содержать только этот класс, что класс должен находится в пространстве имен. Именование классов должно быть в форматеStudlyCaps. Мы не будем рассматривать варианты написания кода для версий PHP < 7.0, так как там есть свои нюансы, а востребованность версий ниже достаточно мала.

Константы мы именуем в верхнем регистре, разделяя слова нижним подчеркиваниемDATE_APPROVED. Тут все логично и понятно, смысла именовать их похоже на свойства или переменные нет. Надо четко различать константы от свойств.

А вот с именованием свойств я не согласен с рекомендаций. PSR-1 рекомендует использовать один из форматов:$StudlyCaps,$camelCase, или$under_score. Я не очень люблю разношерстность кода и полагаться на мнение каждого программиста. Лично я, наверное как и многие программисты, считаю, что использовать надо лишь один стиль, и он должен быть$camelCase. Причем стандарт хитрый, он говорит о том, что эти правила могут идти от поставщиков кода разного уровня... Вот если бы приняли стандарт именования конкретно, то не было бы разногласий. Хотя я уже давно не встречал написания кода в отличном формате отcamelCase.

С именование методов в форматеcamelCase()я полностью согласен и поддерживанию. Логично же, что классы именуем с большой буквы, константы с маленькой, методы с маленькой. И, в принципе, можно отличить одно от другого просто по написанию.

Спасибо за внимание, надеюсь, что материал был полезен, хотя и является изложением мыслей о прочтенном PSR-1.

Источник: habr.com
К списку статей
Опубликовано: 07.12.2020 16:06:42
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Php

Совершенный код

Psr

Code review

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru