Как начать кого-то с ALT.NET

Каков порядок тем, которые нужно объяснить разработчику или группе пользователей.NET, чтобы они начали и интересовались инструментами и практиками alt.net.

  • ORM
  • IoC
  • TDD
  • DDD
  • DSL
  • CI
  • MVC - MVP
  • Контроль версий (я думаю, это тот, который они получают быстрее всего)
  • проворный
  • И т. Д., И т. Д.

8 ответов

Решение

Основные принципы, по которым следует ехать домой:

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

Затем, после контроля версий (!), Я начну с непрерывной интеграции и покажу, как получение немедленной обратной связи о качестве сборки может помочь улучшить качество с первого момента. Выполнение CI сначала не меняет кодовую базу.

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

Затем я бы осторожно провел рефакторинг, чтобы отделить бизнес-логику и доменные объекты от пользовательского интерфейса (если их там еще нет) и ввести модульное тестирование. Это также показывает, насколько хорош рефакторинг.

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

В процессе рефакторинга я бы также показал, как разработка на основе тестирования может на самом деле ускорить создание лучшего кода. Это, вероятно, проще всего продемонстрировать впервые с новой разработкой, так как в противном случае это довольно культурный шок!

ALT.NET - это скорее отношение, чем набор инструментов и практик.

Я не знаю, что вы можете "начать кого-то с ALT.NET", по сути.


Для меня это отношение, рожденное из опыта, а не то, что вы можете надеть, как пальто. Но это мое мнение, может быть изменено.

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

Я думаю, что многие люди не знают о Generics, делегатах, выражениях Linq и Lambda.
Если вы скажете, что все примерно в одно и то же время, они просто отбросят все.

Как будто вы не научите начинающего программиста тому, что такое DSL, но вы можете сообщить ему о SVN.

Я хотел бы создать веб-приложение, используя Nancy с C# (или Boo, Iron*, другой язык), используя SharpDevelop (есть книга по этому вопросу) или Rider (JetBrains' C# IDE). Я рассматриваю Alt.NET как разработку, не относящуюся к Microsoft .net, специально ориентированную на открытый исходный код, а иногда и нестандартное мышление. Ежегодно в Портленде, штат Орегон, проводится конференция.NET Fringe, которая обслуживает такое отношение к развитию.

Для меня это был коллега, который отстаивал IoC/DI и TDD. Он также заставил меня посещать группы пользователей.net, чтобы я мог видеть, что он был не просто сумасшедшим парнем, который любил использовать новые и странные технологии ради их использования.

Подкаст Alt.NET может быть хорошим местом, чтобы получить некоторые идеи. У них есть подкасты о непрерывном улучшении, проворстве, DI/IoC, ORM, ООП с Ruby и т. Д. (В этом порядке).

Я не имею в виду стать ALT.NETter просто для того, чтобы дать им понять, что материал существует, но таким образом, чтобы они могли понять это и почувствовать, что это может помочь им.

Другие вопросы по тегам