Как научиться писать масштабируемый и понятный для другого человека код на си-подобных языках?

Здравствуйте, хотелось бы услышать советы по этому, наверно, вечному вопросу от опытных товарищей. Скорее всего мне будет предложено пойти работать под руководством более опытного человека, но сейчас я учусь в вузе и пока просто нет возможности, а научится писать хорошо хочется прямо сейчас. Пишу периодически софт в пределах 4 000-10 000 строк кода и прошел через кучу костылей в архитектуре. Когда нужно добавлять новый функционал, то приходится помучится. Кроме того, все сложнее работать с прежним кодом.
  • Вопрос задан
  • 1752 просмотра
Пригласить эксперта
Ответы на вопрос 8
gbg
@gbg
Любые ответы на любые вопросы
Можно полистать разные хорошие книги вроде Голуба, Элджера, Александреску и так далее.
А можно пару раз послушать разнос от лида в духе КТО БРОСИЛ ВАЛЕНОК НА ПУЛЬТ маллоком память под объект отхватил, а потом очистил ее делитом?! и прекратить так делать.

Практика под мудрым руководством "законника от кода" - самое милое дело.
Ответ написан
Комментировать
@MIsternik
«Совершенный код. Практическое руководство по разр... хорошо написано про то как писать понятный код, основная идея книги, что любой код должен быть легко читаем. Если не читал, то это то, что ты ищешь.
Ну и про паттерны программирования что нибудь. Я смотрел эти видео
Ответ написан
Комментировать
@vsvladimir
Пишите попроще и комментируйте подробнее. Одно и тоже можно написать десятью разными способами, старайтесь использовать наиболее популярные способы. Делайте так, чтобы проще потом было рефакторить код,
Ответ написан
Комментировать
@Lexans
1. Перед тем как писать код нужно разработать архитектуру приложения.
Продумать варианты использования и оформить в виде диаграммы вариантов использования UML
И самое главное сделать uml диаграмму классов программы. В которой указать компоненты классов и связи.
2. Для проектирования uml диаграммы классов могут быть использованы паттерны
citforum.ru/SE/project/pattern
Однако не стоит использовать паттерны ради паттернов: прибегай к ним, когда возникает необходимость: паттерн решает проблему, а не создает
Ответ написан
Комментировать
@vilgeforce
Раздолбай и программист
Выделяйте в отдельные процедуры код, который повторяется или может быть применен позднее. Также - осмысленные куски типа инициализации.
Ответ написан
Комментировать
@Mintormo
Почитать книжки описывающие приемы организации кода. Вроде такой.
Ответ написан
Комментировать
DmitryITWorksMakarov
@DmitryITWorksMakarov
Порекомендую вот такую книгу для старта. Там описывается паттерн внедрение зависимостей и инструменты для него. В целом это позволяет писать слабо связанные программы, избегать спагетти-кода.
Еще можно посоветовать писать тесты для кода. Рано или поздно стиль кода начнет меняться. Опять же код станет более модульным, слабо связанным.
Эти две рекомендации по сути две стороны одной медали.
Ну и "Совершенный код...." раз в полгода перечитывать =).
Ответ написан
Комментировать
piro1107
@piro1107
Студент
Мне помогла книга Макконнелла "Совершенный код", этот сайт по рефакторингу ну и книга банды 4х - "Приёмы объектно-ориентированного проектирования" Гаммы, Хелм, Джонсона и Влиссидеса.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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