Как вы сохраняете свои базовые навыки от атрофии? [закрыто]

37

Кодирование - это только один аспект профессионального программирования. Моя работа требует от меня кодирования, но также требует, чтобы я занимался другими делами в течение продолжительных периодов времени - иногда бывают дни или недели, когда я не просто программирую .

Я боюсь, что с трудом завоеванные навыки программирования атрофируются, пока я сижу на совещаниях, рисую архитектурные схемы и комментирую требования. (Не говоря уже о том, что я не доверяю людям писать требования, которые не понимают код.)

Я не могу просто читать книги и журналы о кодировании. В свое свободное время я участвую в некоторых проектах с открытым исходным кодом, и stackoverflow и друзья немного помогают, потому что я получаю возможность помочь людям решить свои проблемы с программированием без микроуправления, но ни один из них не является ужасно структурированным, так что заманчиво работать Сначала о проблемах, которые я могу легко решить.

Я думаю, что я хотел бы найти структурированный набор упражнений (не важно, какой язык или среда), которые ...

  • … Я могу делать периодически
  • ... имеет какое-то время, чтобы я мог сказать, если я ленивый
  • ... имеет какой-то результат, чтобы я мог сказать, если я делаю ошибки

Что-то подобное существует? Что бы вы сделали, чтобы сохранить свои навыки свежими?

Кодзиро
источник
6
В этом стеке обмена такие вопросы действительно полезны. Зачем закрывать?
Edeph
@Edeph Такие вопросы поначалу кажутся полезными, но, как показывает опыт, они мало что значат для сообщества. Пожалуйста, прочитайте: почему мой вопрос был закрыт как не по теме?
3
@ Снеговик, чей опыт? 25 upvotes - это значок «Хороший вопрос». На этот вопрос также ответил сотрудник StackExchange и высокопоставленный член сообщества. Таким образом, само сообщество четко заявило, что это ценный вопрос. Период. Не по теме? Остается увидеть, но ценно? Да.
Кодзиро
1
@kojiro вопрос остается слишком широким и в первую очередь мнением. Как показывают ответы, которые у вас есть, нет правильного ответа. Его люди предлагают разные способы, которые сработали для них. По сути, вопрос заключается в опросе. если бы он был открыт, другие ответы, которые вы получили бы, были бы столь же разнообразными, но на самом деле не получили бы правильного ответа, который бы отличался от других.
1
То есть, вы говорите, что сообщество, скорее, руководствуется пакетом модов (которые являются людьми и склонны к субъективизму), а не людьми, которые голосуют за что-то, потому что это полезно для них, даже если у него нет правильного ответа по определению? Не все черное и белое в этой области, вы знаете?
Edeph

Ответы:

26

Кодовые каты приходят на ум сразу же.

Идея состоит в том, что это повторяемые упражнения, которые вы можете выполнять до тех пор, пока не узнаете их холодными, и вы будете периодически их повторять, чтобы поддерживать себя в форме. Некоторые сосредоточены на программировании, другие более открыты и сосредоточены на мышлении и дизайне. Они могут быть выполнены на любом языке или в любой среде, и некоторые люди также используют их, чтобы опробовать или изучить новые подходы (например, разработку через тестирование).

На сайте, на который я ссылаюсь выше, есть много идей для катов. Еще одна довольно известная игра - игра в боулинг от дяди Боба Мартина.

Адам Лир
источник
1
Потрясающе. Упражнения цигун для программистов. Я люблю это!
Кодзиро
Никогда не слышал об этом. Они выглядят фантастически. :)
Мое личное время кодирования всегда сильно прервано (3 ребенка дома). Связанная страница гласит: «Вам нужно время без перерывов». Действительно ли это необходимо, или я все еще смогу учиться достаточно эффективно, если меня часто прерывают?
Этель Эванс
2
@ Этель, я не знаю по личному опыту, но, думаю, ты все еще можешь продолжать. Быть хорошим в переключении контекста поможет. По мере того, как вы будете практиковаться и знакомиться с упражнениями, я думаю, что управление прерываниями станет легче.
Адам Лир
Теперь, когда я сделал часть кода ката, я могу комментировать больше. У меня есть некоторый опыт в боевых искусствах, поэтому я думаю, что идея кат действительно хороша, но (по крайней мере, ранние) каты, предложенные Дейвом Томасом, больше похожи на поднятие тяжестей, чем традиционные ката боевых искусств. Это тяжелая работа, но ни повторяющаяся, ни достаточно медитативная, чтобы быть тем же видом упражнений, что и настоящая ката. Тем не менее, я думаю, что вы можете основывать хорошие ката на его предложениях.
Кодзиро
10

А как насчет проекта Эйлера ?

серия сложных задач математического / компьютерного программирования, для решения которых потребуется нечто большее, чем просто математическое понимание. Хотя математика поможет вам найти элегантные и эффективные методы, для решения большинства задач потребуется использование компьютера и навыков программирования.

Мотивация для запуска Project Euler и его продолжение - предоставить платформу для пытливого ума, чтобы вникать в незнакомые области и изучать новые концепции в забавном и развлекательном контексте ...

Предполагаемая аудитория - это студенты, для которых основной учебный план не питает голод, чтобы учиться, взрослые, чьи знания не были в первую очередь математикой, но интересовались математическими вещами, а также профессионалы, которые хотят, чтобы их решение проблем и математика были на грани ...

Мартин Беккет
источник
10
На мой взгляд, это больше математика, чем программирование.
Хороший вопрос - я не видел кодовые каты в ответе Анны.
Мартин Беккет,