Ваша универсальность тоже имеет свои границы.
Во-первых, не понятно как быть если процесс отвалился с ошибкой? Во-вторых, придется как-то парсить stdout, т.к. он все-таки предназначен для чтения пользователем, а не машиной.
Т.е. конкретные ошибки валидации мы поймать не можем, нам всегда надо ловить Exceptions и работать уже с ним? А наследуются они от Exception, чтобы просто была возможность их выбросить при обработке Exceptions?
И все-таки не понятно, зачем ошибки валидации делать исключениями, вы ведь их не выбрасываете (только во втором случае). В итоге возникает желание их поймать, а не получится.
Речь шла о "значимых" проектах, чьи участники принимали участие в формировании стандарта.
я нигде не утверждал, что нужно было спрашивать большинство. Я только озвучил факт, что всенародного голосования не было, и стиль брали из самых известных проектов, что на тот момент давало FIG политические очки.
Ну тут я солидарен с Mendel, не всех нужно спрашивать. К примеру, мало интересует стили кода у тех, кто пишет на Bitrix или WordPress, т.к. они эти стандарты не поддерживают, и сомневаюсь, что будут когда-то.
Opening braces for classes MUST go on the next line, and closing braces MUST go on the next line after the body.
Opening braces for methods MUST go on the next line, and closing braces MUST go on the next line after the body.
На лицо дублирование, но почему-то никто не объединил эти два пункта ;)
Один пункт — одно утверждение
Это описание стандарта. Важно чтобы при его прочтении не возникло недопонимания, поэтому текст бы никуда не делся, а просто заменили бы фразы "на следующей строке" \ "на этой же строке" на противоположные и все :)
Будет выглядеть некрасиво из-за контекста, в котором они обычно используются, но всё равно люди будут подтягиваться к стандарту.
Вы путаете с единообразием
PSR-12 не упрощает вещи, хотя мог бы.
Сделать стандартным правило расстановки скобок ≠ упростить. Текущая реализация вполне логична и делает проще чтение и изменение кода.
Логические конструкции и анонимные функции — на одной строке, чтобы код не разрастался по вертикали и его было удобнее читать.
Функции и классы — на новой строке, чтобы их описание не сливалось с кодом, что, опять же, упрощает чтение.
В случае с классами на одной строке с названием могут быть extends и implements, которые удобнее добавлять в конце строке, а не кликать перед символом фигурной скобки.
И все-таки это ну никак не "архитектурная" проблема и, судя по приведенным вами примерам — единственная. Поэтому утверждение, что "через какое-то время PSR начинает тормозить всё, а не помогать строить светлое будущее" немного преувеличено :)
Большинство изначально использовало такой стиль, именно поэтому такой стиль используется в стандарте, а не наоборот.
Ну и вряд ли coding style можно назвать чем-то, что мешает "строить светлое будущее" :)
А в официальной инструкции есть пункт про деплой? Я что-то не нашел.
Какая версия php? На седьмой версии использование памяти сильно меньше, должно сработать
Весьма вероятно :)
Ваша универсальность тоже имеет свои границы.
Во-первых, не понятно как быть если процесс отвалился с ошибкой? Во-вторых, придется как-то парсить stdout, т.к. он все-таки предназначен для чтения пользователем, а не машиной.
Надо сказать, что минусы применимы и к вашему методу :)
React\ChildProcess\Process
Это не оно https://github.com/BoShurik/websocket/blob/master/bin/server.php ?
Т.е. конкретные ошибки валидации мы поймать не можем, нам всегда надо ловить
Exceptions
и работать уже с ним? А наследуются они отException
, чтобы просто была возможность их выбросить при обработкеExceptions
?Судя по коду, правильнее так
Т.к.
Exceptions
не наследуется отException
И все-таки не понятно, зачем ошибки валидации делать исключениями, вы ведь их не выбрасываете (только во втором случае). В итоге возникает желание их поймать, а не получится.
Что ж, простите за потраченное время (что аж значок "Отхабренный" заработал)
Речь шла о "значимых" проектах, чьи участники принимали участие в формировании стандарта.
И что тогда вы хотели этим сказать? :)
Ну тут я солидарен с Mendel, не всех нужно спрашивать. К примеру, мало интересует стили кода у тех, кто пишет на Bitrix или WordPress, т.к. они эти стандарты не поддерживают, и сомневаюсь, что будут когда-то.
http://www.php-fig.org/psr/psr-2/#overview
На лицо дублирование, но почему-то никто не объединил эти два пункта ;)
Один пункт — одно утверждение
Это описание стандарта. Важно чтобы при его прочтении не возникло недопонимания, поэтому текст бы никуда не делся, а просто заменили бы фразы "на следующей строке" \ "на этой же строке" на противоположные и все :)
Вот кстати статистика за 2013-2014 года. Думаю она актуальная в контексте нашей дискуссии. За это время PSR-2 не успел сильно распространиться
http://sideeffect.kr/popularconvention#php
Вы путаете с единообразием
Сделать стандартным правило расстановки скобок ≠ упростить. Текущая реализация вполне логична и делает проще чтение и изменение кода.
Логические конструкции и анонимные функции — на одной строке, чтобы код не разрастался по вертикали и его было удобнее читать.
Функции и классы — на новой строке, чтобы их описание не сливалось с кодом, что, опять же, упрощает чтение.
В случае с классами на одной строке с названием могут быть
extends
иimplements
, которые удобнее добавлять в конце строке, а не кликать перед символом фигурной скобки.И все-таки это ну никак не "архитектурная" проблема и, судя по приведенным вами примерам — единственная. Поэтому утверждение, что "через какое-то время PSR начинает тормозить всё, а не помогать строить светлое будущее" немного преувеличено :)
Не всенародное, но голосование было (не путать с голосовавшими за стандарт):
http://www.php-fig.org/psr/psr-2/#appendix-a-survey
https://docs.google.com/spreadsheets/d/1b-wBdRi4j9bQWLi91r8hUMUoydQFA1LSmBbez1L4dVM/edit#gid=0
Большинство изначально использовало такой стиль, именно поэтому такой стиль используется в стандарте, а не наоборот.
Ну и вряд ли coding style можно назвать чем-то, что мешает "строить светлое будущее" :)
С версии 1.3 он вроде как отключает xdebug автоматически
https://github.com/composer/composer/releases/tag/1.3.0
Вот ради любопытства попробовал тоже самое сделать на Symfony. И мне что-то кажется, что там проще :)
https://github.com/BoShurik/symfony-simple/commit/43067c7d78618aa8a85af2214b1bad272354d2d4
А в официальной инструкции есть пункт про деплой? Я что-то не нашел.
Какая версия php? На седьмой версии использование памяти сильно меньше, должно сработать
Похоже, что автор делал
composer update
вместоcomposer install
Скажите это PSR
https://github.com/php-fig/log/blob/master/Psr/Log/InvalidArgumentException.php
Очень удобно ловить исключения, относящиеся к конкретному модулю/библиотеке/etc, а не все подряд
Собственно, вы пришли к варианту, описанному в посте