Как перестать кодить и начать программировать?

Немного знаю несколько языков программирования (js, java, php, c#...) и могу выполнить необходимую задачу на этих языках, но качество кода просто ужасное. Если нужно продолжить какой-то свой старый, небольшой проект, то я скорее перепишу его с нуля, чем разберусь в своем же коде. Как можно повысить качество кода, какие книги читать, какие ресурсы посещать?
  • Вопрос задан
  • 5893 просмотра
Пригласить эксперта
Ответы на вопрос 14
BuriK666
@BuriK666
Компьютерный псих
Если ваш старый код, для вас выглядит ужасно, то значит вы развиваетесь. Бейте тревогу когда начнете "идеально" писать.
Ответ написан
angrySCV
@angrySCV
machine learning, programming, startuping
Начните больше читать чужой код, особенно разные популярные библиотеки, участвуйте в опен соурс проектах.
Ответ написан
@darksladen
Больше кодь и будешь больше программировать!
И начать надо с того, чтобы понять, что ты не знаешь перечисленные тобой языки. Язык это не просто синтаксис. Выбери нужную тебе технологию и углубляйся.. А это хрень все, что ты там "Привет мир" пишешь. Можно скажем хорошо знать js, а в react'е быть быдлокодером, потому что не знаешь всех его тонкостей и уловок.
Ответ написан
@tex0
Если нужно продолжить какой-то свой старый, небольшой проект, то я скорее перепишу его с нуля, чем разберусь в своем же коде

ну как минимум почитайте про:
SOLID
шаблоны проектирования
Ответ написан
Комментировать
Ptolemy_master
@Ptolemy_master
Фаулер "Рефакторинг. Улучшение существующего кода"
Ответ написан
Комментировать
lxsmkv
@lxsmkv
Test automation engineer
вам просто никогда не приходилось писать в команде. Как только у вашего кода появляется соавтор, код сразу становится человекочитаемее (в некоторой степени, чуть-чуть, ну да согласен не всегда, встречаются эгоисты). Просто представьте себе что вы будете передавать кому то код для дальнейшей разработки. Вы сами видите, что он не годится для того чтобы его можно было кому-то передать (даже себе самому в точке времени t+1), ну вот и улучшайте с учетом мнимого соавтора. Хорошая архитектура позволяет разделение труда, один пишет один модули а кто-то другой, пишет процедуры где используются эти модули. Увеличение количества модулей никак не влияет на количество процедур и наоборот.
Почитайте еще обязательно про ортогональность
Ответ написан
Комментировать
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Если нужно продолжить какой-то свой старый, небольшой проект, то я скорее перепишу его с нуля, чем разберусь в своем же коде.

С этим нужно бороться. Задача - научиться бегло читать код. То есть видеть алгоритмы за листингами и особенностями языков. Когда начинающий программист читает, у него появляется вкус к коду: он начинает отличать годный понятный код от нечитаемого месива, как и какими средствами управлять выразительностью.
Приступая к практике: не хватайтесь сразу фигачить код без идеи, обдумайте связи, декомпозируйте задачи на более мелкие. Почитайте про SOLID и попробуйте следовать этим правилам. Когда будете стараться писать абстрактный, модульный код (возможно даже с тестами), очень просто станет его рефакторить и ваш здоровый перфекционизм начнет приносить удовольствие, а не уныние от "эффектов бабочек".

Читайте/смотрите "Clean code", ищите блоги разработчиков, какие-то мелкие проекты на гитхабе. Красная дорожка (в терминах передачи "Умники и умницы") - это найти open-source проект и попытаться там пофиксить баг/добавить требуемую фичу. Конечно, это будет сложно. Но если вы справитесь, то это +1000 к опыту.
Ответ написан
Комментировать
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
1. Прочитать, понять и принять стандарты кода
2. Документировать код
3. Использовать ООП и делать это правильно, соответственно еще раз перечитать все что есть про ООП
Ответ написан
hexlet.io
Ответ написан
Комментировать
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
Очень хорошо, языки Вы знаете. Но хотя бы один учебник программирования в своей жизни прочитали? Не модного языка, а именно программирования?

Насколько хорошо Вы знакомы с концепцией структурного программирования? В вопросе перечислены 4 языка с Си-подобным синтаксисом. Потому они целиком и полностью построены на побочных эффектах и в принципе непригодны для изучения указанной концепции. Чтобы при использовании Си-подобного синтаксиса не свалиться в откровенный говнокод, необходима самодисциплина, которую эти языки привить не в состоянии.

Попробуйте начать с учебника Вирта: "Аглоритмы и структуры данных", издание от 2010 года и новее.
Ответ написан
Комментировать
@evgeniy_lm
Программирование это решение поставленной задачи с использованием языка программирования.
Кодирование это написание кода. Бывает иногда кодируют в рамках решения поставленной задачи (по заранее заданному алгоритму), а бывают просто тупо пишут код, как правило второй вариант никакого результата не приносит, но иногда случается чудо и в током случае говнокодер мнит себя великим программистом.

Короче в программировании главное алгоритм решения поставленной задачи, а в кодировании главное написание кода. Есть при этом алгоритм или нет дело десятое
Ответ написан
@Darth_Sidius
Рекомендую к прочтению "Чистый код" от Роберта Мартина
Ответ написан
Комментировать
EvgeniyKvasyuk
@EvgeniyKvasyuk
Нужена командная работа с внедрённой практикой жесткого перекрестного ревью кода на соответствие принятым в команде правилам, которе должны быть достаточно жесткими
Ответ написан
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
Больше пиши код, делай свои проекты, читай чужой код, старайся писать лучше, всё приходит с опытом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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