Я слышал, как несколько человек говорили, что один из лучших способов улучшить ваши навыки кодирования - это читать код других и понимать его. Мой вопрос, как относительно нового программиста, где я могу найти хорошие примеры исходного кода, которые не слишком далеко у меня над головой?
learning
source-code
Джесси МакКаллох
источник
источник
Ответы:
Вы можете просматривать проекты с открытым исходным кодом на сайтах репозитория, таких как GitHub , Codeplex , Google Code или BitBucket . Вы найдете проекты разных уровней сложности, так что вы сможете найти что-то, что вас заинтересует и поначалу не пойдет слишком много.
Другой вариант - еженедельные публикации в блоге Скотта Хансельмана .
Я рекомендую начинать с устоявшегося активного проекта, чтобы снизить вероятность начала чтения кода, который еще не использовался и не проверялся. В идеале, найти то, что вас интересует и которое вы можете использовать. Использование приложения поможет вам понять исходный код. Другое преимущество выбора проекта с открытым исходным кодом заключается в том, что вы можете внести некоторые исправления или функции, которые помогут сделать чтение кода более интересным.
Смотреть на кучу чужого кода может быть пугающим, поэтому начните с
main
функции (или эквивалентной) и продолжайте свой путь оттуда.источник
Очень немногие люди пишут хороший исходный код с первой попытки. Хороший исходный код часто создается серией ревизий. Таким образом, если вы можете найти исходный код, который был проверен несколько раз и исправлен несколько раз, вы, вероятно, находитесь в лучшем месте. Некоторые проекты с открытым исходным кодом (и некоторые их части) особенно хорошо рассмотрены. Код от компаний, которые имеют обязательные циклы просмотра (например, Google, но есть много других), может соответствовать всем требованиям.
При этом я не уверен, что ваша цель должна заключаться в том, чтобы найти «отличный код». Нужно взглянуть на разные стили кода (например, написанные вашими коллегами) и научиться определять хорошие и плохие моменты в этом. Чем больше плохих моментов вы выявите, тем больше вы будете стремиться сделать свой код лучше и лучше знать.
В частности, я считаю, что очень хорошим подходом для получения хорошего кода является использование интерактивного отладчика для отслеживания сложного кода, следуя цепочкам вызовов. Например, перейдите к одному из основных файлов вашей компании, установите точку останова и начните выяснять из них вещи.
Через несколько раз вы дезориентируетесь 100-строчными функциями с десятью уровнями отступов и зависимостей от глобальных переменных, а также несколько раз, когда вы легко просматриваете хорошо разложенный код, вы улучшите свое собственное программирование.
источник
Вместо того, чтобы находить отличные коды, изучите общие книги по программированию.
например, Code Complete, Написание твердого кода, Шаблоны проектирования (я уверен, что есть много других книг в другом вопросе и ответе на этом сайте)
Эти книги описывают философию, которая считается хорошим кодом. Читаемость, производительность, ремонтопригодность, обнаружение ошибок и т. Д.
Который служит еще лучшим ресурсам и эффективнее, чем пытаться понять, чего пытается достичь автор.
Ps Хороший дизайн программного обеспечения - это то, на что вы должны обратить внимание. Что было бы трудно распознать исключительно по кодам наблюдения, учитывая, что проект достаточно большой.
источник
Я обнаружил, что код библиотек, поставляемых с выбранным вами языком программирования, часто является хорошим началом, чтобы увидеть, что считается наилучшей практикой и хорошим стилем кодирования.
Хотя вы не хотите начинать с таких мест, как алгоритмы сортировки или сложные контейнерные классы.
Еще одно место для интересных идей при написании кода - Project Euler ( http://projecteuler.net/ ). Небольшой недостаток: сначала нужно решить проблему, чтобы получить доступ к форуму, где другие публикуют свои решения (интересные задачи для всех уровней опыта). Но когда вы закончите, вы найдете примеры почти для всех основных языков программирования. И поскольку вы уже решили проблему, это поможет вам понять код других людей. Плюс вы увидите код языков, которые вы еще не знаете, но можете найти интересным.
источник
Мне очень понравилось читать Beautiful Code . У этого есть короткие, но очень хорошие примеры кода с подробными объяснениями.
источник