Что означает «код не как у сениора»; и как его подтянуть?
Сталкивался с таким явлением, когда тебе говорят, что у тебя код пока еще далеко не как у Сениора и что нужно расти в сторону улучшения качества кода. Хотел вот уточнить чем код сениора отличается от кода джуна и мидла?
По себе знаю - код был ужасен, но потом когда открыл для себя стайл гайды, то улучшил немного качества своего кода.
Ну и во время код ревью взял на заметку новые мысли.
Но может быть есть какие-то критерии кода сениоров? Как придти к нему.
Читать всякие заметки из серии "Чистый код" ? или под сениорским кодом подразумевается что то большее? Различные уровни абстракций, применение патернов?
Как в php это прокачивать? Учить Симфони и ковырять его компоненты? Ато в Laravel всё слишком просто решается и можно обходиться базовыми конструкциями для быстрого достижения результата.
Это может значить все что угодно. И то, что в коде есть ошибки, и то, что написанное не нравится проверяющему, считающему себя сеньором.
А вообще я бы предложил такой критерий. Берешь psalm ставишь в нем 0 уровень и прогоняешь по своему коду. Есть ошибки - не сеньор, т.к. сеньор (по моему имхо) не может не использовать статический анализатор сейчас.
Уф, как много текста. Не думал что ответ на такой относительно простой вопрос даст такой очень развёрнутый ответ. При чём с частичной собственной жизненной позиции и опыта.
Автор, вы молодец что не поленились столько написать. За это даже "лайк" поставить не сложно =)
Григорий Васильков, у вас не только последовательность не конек.
Но писать вторую такую же простыню здесь не вижу смысла.
Просто дам одну цифру из общедоступной статистики: 51% российского бизнеса - это ИП.
Та самая "куча" из вашей цитаты.
Еще вспомню очень похожую на вашу фразу одного реального, а не гипотетического, владельца среднего бизнеса: "сидим и не рыпаемся, а то... отожмут".
Григорий Васильков, в работе на оборонку, в отличие от МУПов, за развал производства в пользу своего кармана можно сесть, а не уехать в Испанию с барышом. Вот и вся разница в судьбе того, что национализировано.
Более того - в РФ приказано приватизировать МУПы, даже если они прибыльны. И их уже целенаправленно банкротят, чтобы приватизировать за копейки. Разумеется, только те, которые вообще могут давать прибыть. Приватизировать заведомо убыточное - дураков нет.
Если опустить паттерны / SOLID и прочую архитектуру и открыть любой рандомный php-файл, то сразу можно увидеть хороший код или шляпу. Обычно у меня такие критерии последнего:
Отсутствие кодсайла PSR или другого. Убогое форматирование. Двойные-тройные пустые строки; Лишние пробелы; Или, наоборот, код слеплен без единой пустой строки, которая логически бы отделяла блоки.
Отсутствие scrict-сравнения; Всегда стараюсь писать через ===, declare(strict_types=1), добавлять true в конец in_array и подобных;
Отсутствие type-hint'ов; хотя бы в phpdoc; Отсутствие указания области видимости метода / поля / константы;
Неадекватные названия переменных и методов, по которым непонятно, что это. Лишние переменные. Или отсутствие пемененной, где она была бы полезной, для улучшения понимания кода;
Тупые и очевидные комментарии ради комментариев;
Длинные портянки. Если метод, условно, больше 80 строк, то, мб, надо задуматься о декомпозиции;
Куча параметров в сигнатуре функции
Неиспользуемые переменные / константы / методы "на будущее".
Закомментированный код;
Хард код. Какие-нибудь api url прям в коде в переменной, вместо конфига или хотя бы константы.
Забивание на работу с ошибками. unserialize вернул false? Да неее, такое точно не произойдёт
Ну, это что на первый взгляд бросается. Потом видишь неоптимальный код. Какой-нибудь INSERT в бд по одной строке в цикле foreach.