Даниил Колесниченко, ну, на JS очень сложно придерживаться этого, ибо возможности языка в класическом ООП очень скудные и написать хороший код, читаемый обычным человеком на JS - имхо очень сложно и нерентабельно.
Согласен, JSDOC, юнит тесты и автоматическая документация прекрасно работают в JS, но это, имхо, вообще не тот язык, который следует использовать в таких приложениях.
Andrew Stark, и? Это не означает, что это нормально. Такой код невозможно разбить на методы и нормально протестировать частями.
Про полиморфизм - я могу написать интерфейс или абстракцию к этому классу, но почти весь код относится лишь к парсингу laravel, да и поддержка других не планируется.
Про наследование - вообще не в тему, тут не чего наследовать.
Про абстракцию - тоже самое что и с полиморфизмом.
Комментарии и тайпхинтинг там везде, но это не помогает ни чуть. Мне неприятно работать с таким кодом и сейчас я даже не могу работать над новым функционалом.
ой всё, я начал троллить? Вам я писал два раза, а недо-троллинг вы начали еще три сообщения назад.
И я ни на что не обижаюсь. Мне смешно видеть таких людей, как вы, и еще смешнее слышать от них, что я злюсь/страдаю/обижаюсь =)
Какие приказы? Какое хамство? Оставляйте цитаты, если уж решили потыкать пальцем в небо.
Про инфантилизм - ну да, это же не вы начали орать про if, ajax и циклы, при этом приводя ровно ноль аргументов. А без них ваши слова - водичка, ровно как и вы сами.
И на последок: это конечно верх наглости - удалять свои комментарии а потом безобоснованно обвинять других.
Во-вторых, назовите другие варианты, раз вы упомянули о них.
В-третьих, ваши слова об if, ajax и цикле еще раз показывают, что в связи с недостатком знаний вы пытаетесь поднять свою самооценку за счет глупого троллинга.
Александр Аксентьев, я, конечно, понимаю, что самомнение у вас раздуто, но разбрасываться им не нужно.
Я никогда не пишу на продакшене. Там для этого есть прекрасные логи и аналитические системы, типа sentry.
Но даже на локалке вывод ошибок (в привычном его понимании и том, ссылку на который скинул автор поста) должен быть ОТКЛЮЧЕН, что бы не захламлять json ответы и сгенерированный html. Все ошибки, варнинги и депрекейдеты ЛОГГИРУЮТСЯ, а не отображаются. А если и отображаются, то на отдельном экране, настроеным под разработчика, типа Whoops.
Но то, что предложил автор поста (error_reporting(E_ALL)) - это полная хрень.
На счет 2007-го, а разве в JS уже появилась статическая типизация, интерфейсы, приватные свойства?))