saga111a
@saga111a
физика, химия, питон, машинное обучение

Как лучше построить изучение программирования?

На протяжении нескольких лет регулярно сталкиваюсь в работе с задачами написания тех или иных программ/скриптов, пробыл даже 2 года джуниуром на фронтенде(и совсем не много бэкенд). Чаще всего использую либо python, либо js, иногда С, ну разметки - html, css/less.

Уже почти год, пытаюсь делать скрипты такими чтобы кроме меня ими кто-то еще мог пользоваться, а так же улучшать их(не делать одноразовыми т.к. все задачи - одно да потому, а тратить время на улучшение имеющихся). К сожалению качество моего кода оказывается отвратным, пробовал читать книги именно о организации кода - Лутца по программированию на питоне, что-то о орагнизации gui, итп, по js - уже не помню что. Но каждый раз писать хорошо не получалось. Поддерживать кем-то организованный код - могу, создать свое адекватное, не получается. Это вызывает проблемы в развитии того, что делаю.

Посоветуйте как дальше развиваться, может как то процесс организовать или/и что читать или что изучать?
(Сейчас в голове ходит мысль перейти на более строгие языки, вроде java или с++, чтобы уловить суть. Но не знаю насколько усилия будут оправданы, кажется что все так и останется на том же уровне.)

Спасибо.
  • Вопрос задан
  • 7982 просмотра
Решения вопроса 2
Нужна обратная связь от опытных людей. Получить ее можно, как я вижу, двумя способами:
  1. Можно устроиться в команду с толковыми программистами и выстроенным процессом кодревью.
  2. Подключиться к open source проекту. Брать несложные баги, править и отправлять патчи.

В обоих случаях очень быстро качество кода вырастет.

Книги - это долгий процесс. И не факт, что получится вообще хоть как-то улучшить свой код.
Ответ написан
Dit81
@Dit81
Security researcher, pentester, internet-marketer
Читайте фундаментальные труды по разработке кода и архитектуре приложений... ООП, MVC, DRY и им подобные. Почитайте Марк Саммерфилд - "Python на практике". Многие вопросы отпадут сами...
Ответ написан
Пригласить эксперта
Ответы на вопрос 8
saboteur_kiev
@saboteur_kiev Куратор тега Python
software engineer
"К сожалению качество моего кода оказывается отвратным"
Каким образом ты это определяешь?
Если ты смотришь свои старые скрипты, и видишь там говнокод, это означает что ты вырос как специалист, и видишь ошибки в своих старых работах. То есть все идет путем - продолжай в том же духе, расти дальше.

А вот если ты прямо сейчас пишешь скрипт и тут же видишь в нем говнокод, то это уже проблема...
Ответ написан
opium
@opium
Просто люблю качественно работать
поработайте в команде с конвеншенами по коду, один месяц не получите зп, втлрой , а там есть захотите и будете хорошо писать.
Ответ написан
Комментировать
globuzer
@globuzer
gezgrouvingus progreszive ombusgrander greyderzux
Нужны хорошие наставники, ну или хотя бы группа профессионалов-коллег, которые постоянно подсказывают и указывают на ошибки. Вместе работать над рядом проектов. Также для познания читать чужие коды с гитхаба и блогов различных программистов, читать форумы (хотя бы стековерфлоу и т.п., англоязычные лучше). Изучать стандарты программирования, стили программирования, стараться правильно писать комментарии, вести правильно ветку проекта.
Ну и много опыта и практики, плюс работа над ошибками - будет результат. Ведь можно сказать, что кто не совершает ошибок - тот либо суперкрут (это пока что не к вам), либо ничего не делает.
Так что учиться, стараться, ошибаться, понимать где ошибаешься, учиться еще раз, практиковаться и постоянно самосовершенствоваться. Очень плюсом будет участие в различных хакатонах, конференциях, дискуссиях, мероприятиях кодо-хаккеров и людей из ит-индустрии
Ответ написан
Комментировать
@vilgeforce
Раздолбай и программист
Если вы хотите добиться простоты повторного использования кода - нужно смотреть в сторону разбития задачи на части. Потом оформляйте части в процедуры, создавайте для них удобный для повторного использования интерфейс. Отдельное внимание уделите поиску общих мест в разных задачах, они - первые кандидаты на вынесение в функции.
Ответ написан
@Elizavetta
Matroid: gamedev/js-разработка
Организация кода в среднем не зависит от языка, это навык общего характера. Возможно, ваш мозг просто не привык к архитектурным задачам, это надо тренировать. Рекомендую опенсорс и читать исходники.
Ответ написан
@coodan
Присоединяюсь, если Вы недовольны качеством своего кода и думаете над тем, как его улучшать, то он будет улучшаться. Он уже улучшается.

Согласен и с тем, что на Вашем этапе, похоже, стоит много читать хороших исходных кодов и смотреть как у них сделано и для чего. Плюс набивать глаз на то, как должен в общем выглядеть хороший код на Вашем языке. Развивать эстетическое чувство.
Ответ написан
Комментировать
LittleFatNinja
@LittleFatNinja
горе девелопер, любитель лютой садомии
если ты с киева и хоч писаьт нормальный код, то иди в devclub.com
там будет крутая основа на с и с++
потом js будет не проблема
Ответ написан
FFormula
@FFormula
Автор проекта VideoSharp.info
Лично я предпочитаю практический подход к изучению языка программирования. Я Разработал собственную методику прокачивания навыков программирования, на языке C# Си Шарп. В ней мало теории, но зато очень очень много практики: консольных задач с автоматической проверкой и видео уроков по созданию законченных игровых программ. Для начинающих самое то, Хотя этот способ, конечно же, не исключает необходимость теоретического изучения материала. По моим наблюдениям изучения теории, при наличии некоторого практического опыта, происходит на порядок эффективнее. Кому интересно, адрес проекта VideoSharp.info
Ответ написан
Ваш ответ на вопрос

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

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