На днях кто-то написал в списке обсуждений, в котором я веду эту тему:
Как стать мастером написания кода на C #
В последующем обсуждении было много замечательных идей и идей от многих уважаемых и опытных разработчиков C #. Было бы стыдно не поделиться некоторыми из предложенных идей. Поскольку это частный список, я воздерживаюсь от того, чтобы приписывать идеи тем, кто их представил, но если какой-либо отдельный участник хочет дать мне разрешение, я буду рад включить ваше имя в вашу идею (идеи) и ссылку на ваш блог. или профиль в Твиттере.
Первоначальный вопрос:
У меня есть несколько целей, и одна из них - стать старшим разработчиком. Для этого мне нужно улучшить качество кода и много практиковаться. Что мне нужно сделать, чтобы стать старшим разработчиком? Как я могу тренироваться дома? Есть ли ссылки на многие упражнения для практики?
Ответы были разделены на несколько категорий, которые я суммирую здесь в соответствии с типом рекомендуемых ресурсов.
Книги
- Книги Microsoft по архитектуре приложений .NET (бесплатно)
- Чистый код
- Гибкие принципы, шаблоны и практики в C #
- Code Complete (2-е изд.) - обязательно к прочтению любому разработчику и / или архитектору
- "Шаблоны проектирования"
Курсы
- Библиотека шаблонов дизайна
- Твердые принципы объектно-ориентированного проектирования
- Расширенное модульное тестирование
- Основы предметно-ориентированного дизайна
- Основы рефакторинга (в котором обсуждаются запахи кода, которые нужно искать, и способы их устранения)
Веб-сайты
Практикуйте проблемы с кодом на этих сайтах:
- Пришествие кода
- Exercism.io - великолепно, потому что у них так много разных языковых треков.
- Кодовые войны
Проекты с открытым исходным кодом
- Гуманитарный набор инструментов - отличный способ начать работу с открытым исходным кодом и по уважительной причине. Использует новейший стек технологий ASP.NET Core.
- .NET Docs on GitHub - Отправить PR для .NET документации. Ищите проблемы с пометкой Готовы поработать как хорошие стартовые предложения.
- Проекты анализатора Roslyn, такие как CodeCracker - отличный способ углубиться в сам язык, а не в более широкие архитектурные концепции.
Общие советы и рекомендации
- Участвуйте в проектах с открытым исходным кодом
- Просто пройдя курс, вы не станете старшим разработчиком - вам понадобится опыт. Образование полезно, но это только основы для получения опыта.
- Специализируйтесь на том, что вам действительно нравится, и почувствуйте мотивацию исследовать больше и пройти весь путь, чтобы понять каждую мелочь и кусочек. Затем перейдите к следующей теме и повторите.
- По темам, которые вам действительно нравятся, создайте вокруг них презентацию, чтобы поделиться ею со своей командой или на собрании группы пользователей.
- Учебные ресурсы, подобные приведенным выше, прекрасны, но они должны быть частью более широкой картины. Не только изучение C #, но и дизайн приложений и шаблоны с помощью упражнений и более крупных проектов.
- Делитесь тем, что вы изучаете, когда вы это изучаете. «Учить - значит учиться дважды».
Первоначально опубликовано на ardalis.com. Поаплодируйте, если вы нашли какой-либо из этих советов полезным, и загляните на https://www.weeklydevtips.com, где вы найдете 5–10-минутные эпизоды подкастов, предлагающие советы для разработчиков программного обеспечения.