Feedback

what's your question? be descriptive.

By: Asked

Dumped into .Net

I've got experience with doing agile/XP development with Ruby on Rails and Java.  I've been dumped into doing a project using .Net and I have no experience/knowledge of .Net.

What advice do folks have on getting .Net started in a agile way (TDD/BDD, Continuous Integration, etc)?

I could use pointers on 'best practices' to follow when setting up a new project.

Also are there 'Javaisms' or 'Rubyisms' I should watch out for while programming in C#?

Add comment viewed 203 times Latest activity over 1 year ago

or Cancel

3 answers

  • 1

jeff_13

Jeff, I've been out of the .NET community for a bit, so I'm not sure on the "state of the stack" so to speak, but I'll give you my advice. I'm not sure if you're talking about web forms, mvc or winforms type project, which could influence the answers.

Some high level bullet points:

  • If you're used to TextMate and all the bundles then you'll want to get a copy of ReSharper from JetBrains, immediately.
  • A decent CI tool - JetBrains TeamCity -- There used to be (still is?) a project by Jay Flowers called (ugh...) but it basically created a VS project for you with a test project and set up for CruiseControl.NET. Really only useful from a project layout standpoint, but it's somewhat dependent on the type of project you're on.
  • There's a decent, yet somewhat less vocal and less prevalent, TDD/BDD community in the .NET Space (i forget the name, but there motto was something about running with scissors). The tools to use when I was doing C# work was NUnit (or mbUnit) + RhinoMocks + watir/watin. There are people that are using Cucumber with .NET and I believe there's an NSpec or something out there to mirror rspec, but I probably wouldn't test it.

Specifics:

  • Getting started TDD/BDD (NUnit or something) there are an absolutely massive amount of on demand webcasts on MSDN for free on basically every topic. The last series I watched was on TDD w/ ASP.NET MVC and it was overly put on, but they'll get you going.
  • Best practices => used to be a project called TreeSurgeon to help with this. It's compiled and you need to reference the projects/dlls within the solution. Again, it's still mostly related on type of project, but generally for every real project there is a parallel test project.

Rubyisms to watch out for:

  • ||= doesn't exist, () are not optional, semi-colons are your friends and you'll need to TypeEverything. No mixins.
  • Last I checked there is WAY LESS open source contributions from the .NET community in terms of "plugins" to use.

I'll be happy to answer follow on questions but I'm all ruby and I haven't written a line of C# in 2 or 3 years, so YMMV.

NN comments
jeff waltzer
-

Thanks for replying. Looks like I’ll be doing some rules based business logic (Really wish I could use Ruby for that), and then putting a web front end on it. Also will need some basic DB functions mostly for lookups.

or Cancel
  • 0

aleksey dmitriyev

I recently looked at the new Visual Studio 2010 and .NET 4.0. I found that ASP.NET MVC is conceptually very similar to Ruby on Rails and also has a built-in test mechanism (just like rake tests). The RoR's Active Record is similar to LINQ to SQL mapping in .NET.

I am not sure about new flavors of BDD/Cucumber in MS, but I am sure there are similar tools. In general, it should not be a problem to create automated test, staging, and deployment environments in .NET.

Just remember THE MEMO: Individuals and interactions over processes and tools :)

or Cancel