Стандарты кодирования

    PHP Coding Standard
    В очередной раз ковыряясь в чужом коде, понимаю насколько больная тема — стандарты кодирования в PHP…


    Уважаемые PHP разработчики, выберите для себя один из приведенных стандартов и беспрекословно следуйте ему


    1. PEAR Coding Standards
    2. Zend Framework Coding Standard
    3. Symfony Coding Standards
    4. Cake PHP Coding Standards
    5. DB Medialab PHP Coding Standard
    6. Стандарты оформления кода PHP (производная предыдущего пункта)
    7. PHP Coding Guidelines
    8. GForge: PHP Coding Standards


    P.S.: Этот пост есть дополнение к п.20 статьи Ошибки начинающих PHP разработчиков
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 35

      +1
      Кстати вот здесь, доступны стандарты для ZF на одной странице в pdf формате.

      P.S. Ссылка на стандарты CakePHP побилась.
        0
        Спс, подправил…
        +5
        Zend, Symfony и Cake — похожие и вполне хорошие стандарты, читать такой код удобно и приятно.
        лично я использую ZF.

        в яваскрипте тоже стараюсь придерживаться похожих.
          0
          А если группа разработчиков документировала свой стандарт и им пользуется, то они, стало быть, злодеи?
            0
            Конечно нет, главное что-бы они были описаны и соблюдались…

            У нас на фирме были так же свои стандарты — но с переходом на ZF — были приняты стандарты этого фреймворка, правда не без скрипа зубов…
              0
              А что показалось неудобным?
              0
              Они не злодеи. Ведь стили оформления для этого и существуют: для увеличения эфективности командной разработки.
              Но, думаю, группа примет какой-то из указанных стилей, лишь с минорными дополнениями. И новичку в группе будет легко втянуться в общие стандарты.
              P.s. Сам пользую GForge стиль.
                +2
                :) мне кажется что нет. имхо, главное чтоб в проекте использовался какой-либо один стандарт, и не было мешанины.
                +1
                Мы юзаем Symfony.

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

                К сожалению, часто бывает так, что в одном даже проекте творится черти что.
                  0
                  Вам везет, это все не для меня. Так как только дописываю чужие кривые пректы, что б их
                  • UFO just landed and posted this here
                      +3
                      Обычно стандарты кодирования содержат правила именования классов, методов, переменных… Плохой код автоформатированием не поправишь ;)
                    0
                    Использую стандарты Symfony, правда сбиваюсь на if ('string' == $val) руки сами пишут переменную слева
                      +3
                      чем больше и чаще пишешь — тем больше думаешь про стиль кода. я по себе заметил.
                        0
                        Делаю «леваки» в соответствии со стандартами ZF, рабочие проекты — с корпоративными стандартами. Если немного отвлекусь — иногда такая каша выходит… :)
                        0
                        Стандарт кодирования вырабатывается сам собой с опытом и со временем. Если хочется поморочаться и считать количество пробелов в отступе — можно использовать стандарты. По мне, так самое главное не забывать про tab, остальное — мелочи и занудство.
                          0
                          Сколько у вас человек в команде? Один?
                          +1
                          Спасибо, думаю что еще сюда подойдет Java Coding Standards
                            0
                            эм, спасибо будем читать… кстате по zend fraemwork мануал есть на русском — просто в ссылке вместо en пишем ru =))
                              0
                              Да, только он не поспевает по полноте за английским — некоторых тем просто нет.
                              0
                              некоторые стандарты противоречат другим стандартам, что усложняет разработчику жизнь, когда он сталкивается с стандартами отличными от того, которого придерживались… например касательно использования «_» в именовании классов, методов и функций… очень жаль, что нет единого стандарта ПХП кодирования… каждый кулик свое болото хвалит…
                                +1
                                Не важно какой язык используется, важно как правильно его используют и на сколько правильно.
                                Тоже самое относится и к стандартам кодирования.
                                Важно, чтобы в рамках компании или хотя бы проекта придерживались единого стандарта.
                                А какой язык — дело десятое. Будь то Java, или PHP, или Perl, или что-то другое.
                                Безобразно писать можно на любом языке.

                                Другими словами. Стандарт кодирования это ваш профессиональный почерк.
                                  0
                                  спасибо
                                    0
                                    Опять стандарты… самое печальное то — что они навязанные.

                                    Самое главное правильно написаное и на мой взгляд — ПОНЯТНО для всех категорий пользователей.

                                    Знаете что, давайте меня расстреляем — я пишу не по «красивым» стандартам…

                                    например.

                                    isset($var) ? $id = $var : $id = 0;

                                    красиво, но я упорно продолжаю писать
                                    if (isset($var)) $id=$var; else $id=0;

                                    главное понимать код, кстати интерпритатор сделает из этих 2 «кодов» идентичную интерпритацию…
                                    так вот знаете почему я так пишу...? догадались.

                                    Да потому что мой код может например захотеть поправить какой-нибудь неопытные кодер… ну например дизайнер с начальными знаниями php, как вы думаете когда он увидит первый вариант кода… что он будет делать? (ответ — легкий шок и долгий поиск по книгам)
                                    и когда второй.
                                      0
                                      По-моему, это немного не то.
                                      Вы говорите про упрощённую запись, а не про стандарты кодирования.

                                      Вы же не пишете в своём «некрасивом» варианте if(+$var_one==1 && $varTwo==2)

                                      Относительно упрощённой записи, ксати, совершенно согласен — гораздо читабельнее второй вариант.
                                        0
                                        :) Поверьте — там где упрощенная запись, там такие же стандарты :)))

                                        Кто-то потом будет долго разгребать ваши методы

                                        Стандрат — я думаю один. Писать правильно и ПОНЯТНО — вот что я имел ввиду ;)
                                        0
                                        Вы всё-таки почитайте рекомендованные ссылки? В том же самом «Cake PHP Coding Standards» про тернарный оператор выразились коротко — «низззя!»:

                                        «Do not use ternary operator (?:). We need Cake code base to be as readable as possible, and we believe that using full if-else calls will make code look better, more readable and maybe most important, easier to debug.»

                                        «Кодинг стул» (Coding Style) далеко не всегда базируется на каких-то принципах взятых с потолка…
                                        0
                                        $id = isset($var)? $var: 0;
                                        +3
                                        неважно какой стандарт кодирования вы используете в компании — важно что бы он был и все его придерживались.
                                          0
                                          Алексей я бы добавил… и был понятным, тем кто будет доделывать, переделывать, использовать ;)
                                            0
                                            Это вполне логисное требование к стандарту…
                                          0
                                          Везде должен быть порядок. Строгость в стандарте — залог отсутствия проблем для разработчика.
                                            0
                                            А php-fig.org к какому из перечисленных относится?
                                              0
                                              PSR относятся к единственному верному

                                            Only users with full accounts can post comments. Log in, please.