11 шагов к тому, чтобы стать продвинутым .NET разработчиком
Вы пишите код, разрабатываете системы, которые используют другие люди? Вы хорошо зарабатываете и считаете себя хорошим специалистом? Тогда мы идем к вам :) Ниже представлен список из 10 вещей, которые хорошо было бы изучить .NET разработчику, чтобы его считали профессионалом. Оригинал статьи находится здесь.
1. Модульное тестирование (Unit testing)
Весь ваш код, в идеале, дослжен быть покрыт модульными тестами, каждая сборка должна проверяться на наборе тестов, перед тем, как она попадет в руки заказчиков или клиентов. Для модульного тестирования можно использовать встроенные в Visual Studio средства, NUnit, Pex, Mole и другие инструменты. также вы должны быть знакомы с понятием TDD и как можно чаще применять этот подход на практике.
2. Системы управления версиями
Хороший специалист должен уметь работать с различными системами управления версиями: Team Foundation Server, Git, SVN, Mercurial и т.д. Это позволит следить за кодом и версиями сборок.
3. IoC (Inversion of control) контейнеры
Инверсия управлений - важный принцип объектно-ориентированного программирования, используемый для уменьшения связанности в компьютерных программах и входящий в пятерку важнейших принципов SOLID.
Сейчас активно развиваются ряд инcтрументов:
- Unity Application Block 2.0
- Spring.NET
- Structuremap
- CastleProject
- Seasar
- Winter.NET
- Windsor Container
- Autofac
4. Участие в open source проектах
Здесь, думаю, все понятно.
5. Continuous Integration
Continuous Integration - это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. В обычном проекте, где над разными частями системы разработчики трудятся независимо, стадия интеграции является заключительной. Она может непредсказуемо задержать окончание работ. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее раннего обнаружения и устранения ошибок и противоречий.
Можно использовать такие инструменты: TeamCity, Hudson, CruiseControl.NET, msbuild.
Можно почитать книгу "Continuous Integration in .NET" издательства Manning по этому вопросу.
6. Базы данных, работа з данными
В этом пункте нужно упомянуть NHibernate Object Relational Mapper, а также NoSQL базы данных - CouchDB, MongoDB или RavenDB.
7. Облачные технологии
Все будем в шоКоЛАУДе :) Изучите принципы облачных технологий, попробуйте в действии Windows Azure Platform.
8. Mono на Linux
Попробуйте запустить ваши приложения с помощью Mono на Linux, Mac OS X и других альтернативных платформах. Обратите внимание на MonoTouch, SharpDevelop.
9. Messaging architecture
Ознакомтесь с такими инструментами как NServiceBus, MassTransit или RhinoQueues, а затем AMQP и RabbitMQ.
10. Domain-Driven Design
Почитайте о Domain-Driven Design и начните использовать в своих приложениях.
11. Архитектура CQRS
Ознакомтесь с подходом к разработке корпоративных бизнес приложений - CQRS.
Глядя на этот список, могу сказать, что мне лично есть еще куда расти и что изучать. Думаю, многие .NET разработчики обнаружат часть пунктов из списка, которые отсутствуют в их резюме :)
Компании из статьи
Microsoft Украина | Украинское подразделение компании Microsoft. |
JetBrains
|
JetBrains is a Czech software development company with offices in Prague, Czech Republic; Saint Petersburg, Russia; Boston, USA and Munich, Germany. It is best known for its Java IDE, IntelliJ IDEA an... |