besogonskiy
@besogonskiy
работаю php laravel разработчиком.

Что означает «код не как у сениора»; и как его подтянуть?

Сталкивался с таким явлением, когда тебе говорят, что у тебя код пока еще далеко не как у Сениора и что нужно расти в сторону улучшения качества кода. Хотел вот уточнить чем код сениора отличается от кода джуна и мидла?

По себе знаю - код был ужасен, но потом когда открыл для себя стайл гайды, то улучшил немного качества своего кода.
Ну и во время код ревью взял на заметку новые мысли.

Но может быть есть какие-то критерии кода сениоров? Как придти к нему.

Читать всякие заметки из серии "Чистый код" ? или под сениорским кодом подразумевается что то большее? Различные уровни абстракций, применение патернов?

Как в php это прокачивать? Учить Симфони и ковырять его компоненты? Ато в Laravel всё слишком просто решается и можно обходиться базовыми конструкциями для быстрого достижения результата.
  • Вопрос задан
  • 428 просмотров
Пригласить эксперта
Ответы на вопрос 2
HighTechLowLife
@HighTechLowLife
Если опустить паттерны / SOLID и прочую архитектуру и открыть любой рандомный php-файл, то сразу можно увидеть хороший код или шляпу. Обычно у меня такие критерии последнего:
  1. Отсутствие кодсайла PSR или другого. Убогое форматирование. Двойные-тройные пустые строки; Лишние пробелы; Или, наоборот, код слеплен без единой пустой строки, которая логически бы отделяла блоки.
  2. Отсутствие scrict-сравнения; Всегда стараюсь писать через ===, declare(strict_types=1), добавлять true в конец in_array и подобных;
  3. Отсутствие type-hint'ов; хотя бы в phpdoc; Отсутствие указания области видимости метода / поля / константы;
  4. Неадекватные названия переменных и методов, по которым непонятно, что это. Лишние переменные. Или отсутствие пемененной, где она была бы полезной, для улучшения понимания кода;
  5. Тупые и очевидные комментарии ради комментариев;
  6. Длинные портянки. Если метод, условно, больше 80 строк, то, мб, надо задуматься о декомпозиции;
  7. Куча параметров в сигнатуре функции
  8. Неиспользуемые переменные / константы / методы "на будущее".
  9. Закомментированный код;
  10. Хард код. Какие-нибудь api url прям в коде в переменной, вместо конфига или хотя бы константы.
  11. Забивание на работу с ошибками. unserialize вернул false? Да неее, такое точно не произойдёт


Ну, это что на первый взгляд бросается. Потом видишь неоптимальный код. Какой-нибудь INSERT в бд по одной строке в цикле foreach.
Ответ написан
vfreelancer
@vfreelancer
php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы