@WeDeYoSi

Как себя направлять в обучении, почему через 4 года опыта работы я все еще плохо программирую?

Ситуация такая.
Опыта у меня 4 года.
И, внезапно, когда коллеги посмотрели код, им было ничего не понятно.
Если честно я понятия не имею что именно там не так.
КОгда я задаю этот вопрос им, конкретного чего то нет. Просматривая их код, я его также не понимаю как они мой. Ну начинаю дебажить и постепенно разбираюсь. Они будто бы читают фреймворк а мне он не понятен. и Чтобы разобраться мне нужно дебажить смотреть и проверять
Вопрос первый.
Что мне ясно точно мне не хватает ориентира, и если не на работе то где его можно взять?
Вопрос второй,
ПОчему могла возникнуть такая ситуация каких навыков мне не хватает или что не так то?)
UPD Я делал пет проекты и это не одна работа, ощущение что я учусь учусь и никак не научусь даже базовым вещам. Вот частый вопрос ты читал документацию, а я читал ее раз 5 читал, и все равно сделал что то не по ней, и причем даже после обьяснений я так и не понял где это было в доке...
  • Вопрос задан
  • 911 просмотров
Пригласить эксперта
Ответы на вопрос 6
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Нет кода нет мнения. Выложите на гитхаб или попросите отревьювить их.
Это наиболее правильная практика.
Ответ написан
Комментировать
PageAuditRU
@PageAuditRU
Senior SEO Анализатор
Вам на работе нужен ментор и код-ревьюер.

ПС: я тридцать лет программирую. И каждый раз, когда пересматриваю свой код, написанный год назад, восклицаю, что за отстой тут написан - либо можно проще написать, либо понятнее, либо вообще код не должен работать.
Ответ написан
Комментировать
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
Есть общепринятый кодестайл практически для любого языка, для того же пхп есть PSR, для жавы Java Style Guide и т.д. Обычно написанное по кодестайлу читается достаточно просто и легко, собственно для чего и составлялись данные гайды.
Для некоторых фреймворков, или даже внутри отдельных организаций, может существовать свой, отдельный кодестайл, отличный от общепринятого, диктуемый разными причинами, от чисто технических, до маразматично-идиотских, но все они призваны облегчить разработчикам одного продукта писать в едином стиле и понимать код коллег максимально комфортно.
Ответ написан
Комментировать
@AndrewRusinas
Простые вещи помогают взрывному росту: job-hopping и pet-projects. Если вы 4 года на одном месте, с самого начала карьеры, то в этом и вся проблема. Нет драйвера для роста.
Ответ написан
maaGames
@maaGames
Погроммирую программы
Обсудите с тимлидом или руководителемдиректором, чтобы хотя бы пару часов в неделю уделять код-ревью. В идеале, каждый день по пол часа (хотя бы) просматривать коммиты друг-друга. Они будут сопротивляться, мог это трата времени, но в итоге повысится качество разработки, будете тратить меньше времени на отладку своего и, главное, чужого кода.
Ну и из очевидного, нужно на уровне компании или конкретного проекта придерживаться формализованного стиля кодирования (именование переменных и фукнций, скобочки и прочие мелочи). Раз у вас такие сложности во взаимопонимании, то нужно попытаться причесать весь код одной гребёнкой, чтобы было меньше отторжения при чтении. И, раз код совсем не ясен, то не хватает комментариев. Про то, какими должны быть комментарии можно почитать в книжках, на которые ссылаются в ответах выше.
Ответ написан
Комментировать
@majstar_Zubr
C++, C#, gamedev
Если у вас проблемы с пониманием кода, значит у вас разработка происходит без методологии. Дело в том, что любое отклонение от конкретной методики, которое не согласовано с остальными методиками в рамках одной методологии, превращает любую методологию разработки ПО в тыкву. Либо всё работает как система, либо всё не работает. Если у вас отсутствует код ревью, в корне отсутствует парное программирование, работа над предметной областью происходит без обсуждений, и нет совместных обсуждений api и предметных областей межмодульных прослоек, то естественным образом это означает, что коммуникации между разработчиками не налажены. Следствием этого является то, что полет мысли у каждого разработчика происходит на своей волне и неудивительно, что вы не понимаете код друг друга. Как бонус, вы ещё и не в курсе сильных и слабых компетенций друг друга.

1) Берёте коллегу - 1 шт
2) Берёте код иного коллеги - 1 модуль. Ограничение: вы и коллега независимо оцениваете код иного коллеги непонятным.
3) Вы и коллега независимо рефакторите его до состояния: "теперь мне все понятно".
4) Собираетесь с коллегой за одним экраном и проводите код ревью над результатами обоих рефакторингов.

Ответ на свой вопрос вы только так получите. Но профита не много, потому что вам нужно обеспечить исполнение методологии и четко её придерживаться всем коллективом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы