BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

What are the most widely used .NET practices and tools?

by Roopesh Shenoy on Sep 25, 2012 |

As part of the new community-driven research initiative, we are examining the adoption level of a range of practices and tools that aim to assist .NET developers in these practices.

Note that we have focussed only on these practices - there are other tools such as reflectors, productivity tools, frameworks etc. which we are not covering in this research.  

These practices are:

  • Behavior-driven development (BDD) specifies that tests of any unit of software should be specified in terms of the desired behavior of the unit. Read more…
  • Unit Testing/TDD is a method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine if they are fit for use. Read more…
  • Object-relational mapping (ORM) converts data between the strongly typed .NET objects and the relational database schema. Read more…
  • Dependency Injection (DI) is a technique used to cleanly divide code into separate units and then wiring them up at runtime. Read more…
  • Continuous Integration is the practice of frequently integrating one's new or changed code with the existing code repository – should occur frequently enough that no intervening window remains between commit and build, and such that no errors can arise without developers noticing them and correcting them immediately. Read more.. 

 

 

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Why is Autofac missing from the list ? by Mihai Lazar

You forgot to add Autofac. I bet there are other tools you forgot about

Re: Why is Autofac missing from the list ? by Mihai Lazar

P.S. Since I have an account on InfoQ, I think you should have let me vote with that one.

Too much emphasis on spiffy 3rd-party tools, not enough on practices by John L

WPF?

ASP.NET MVC 3/4?

VB6?

Enterprise Library?

Deliver debug symbols in production code?

Client/server (as opposed to web app)?

Age of application?

I'd love to see questions like this more oriented to the brownfield programmer, yo.

Autofac & NSubstitute by Petar Petrov

Re: Too much emphasis on spiffy 3rd-party tools, not enough on practices by Roopesh Shenoy

Thanks for the feedback.

WPF, ASP.NET MVC (Silverlight for that matter) etc are framework tools, so we haven't included them - similarly Client-server (vs web app) is an architectural decision. We conciously avoided those, because we had to draw the line somewhere!

This is more to try and evaluate what practices people are using (BDD, unit testing, ORM, Dependency Injection, etc) and what optional tools folks use for achieving these. Keep the feedback coming though and we will try our best to come up with useful surveys.

Re: Why is Autofac missing from the list ? by Roopesh Shenoy

Thanks for the feedback Mihai.

Yes, we have probably missed some tools, and will appreciate it if you point out more. We will be doing a post following this up with the results, and will ensure that we mention these tools as well (that they were not a part of the survey).

At the same time, we will plan deeper surveys within each of these areas (for e.g. a survey purely for DI containers) - that way we will have a better coverage of all the tools available.

Keep the feedback coming!

Re: Autofac & NSubstitute by Roopesh Shenoy

Thanks for the feedback, Petar - we will try to include these tools in a future survey - if you think that some of these ought to replace some of the options we have chosen, do let me know - we are mainly looking for relative adoption of tools and from them the practices itself.

As I mentioned above, we will try to have a deeper survey for each of the practices so that we can have better coverage of the tools available.

Some suggestions ... by Marijn van der Zee

I'd suggest Resharper for running test from the ide and refactoring support.
ContinuousTest (continuoustests.com/) for compiling and running tests on the fly.

Re: Some suggestions ... by Roopesh Shenoy

Thanks for the feedback.

I'm not sure Resharper would fit here, since it's almost an extended IDE - and is mainly a productivity tool (similar to Visual Studio) vs a development practice.

Continuous tests though would definitely be a practice. I would add it, but since the survey has already started, that will skew results. Will consider next time.

Re: Why is Autofac missing from the list ? by Samo Prelog

+1

Missing a lot of tech by Nathan Gloyn

The list is fairly limited given the amount of different tech out there and as such is not a good representation of what is available and in use, here's some more not included but used by more than a few people I know:

Simple.Data
FakeItEasy
NSubstitute
NDepend
NCover
NCrunch
Selenium
TinyIoC

Re: Missing a lot of tech by Roopesh Shenoy

Thanks for the feedback Nathan.

NCover is a code coverage tool, and we have not included any such tools in this particular survey - CI tools are included mainly because they are necessary for practising continuous integration. Ditto for NCrunch, NDepend.

Selenium - again, testing tool - the main reason for including WaTiN was since it plays nicely with BDD tools such as specflow.

We can plan a separate survey for all such tools.

Simple.Data, FakeItEasy, NSubstitute and TinyIoC - thanks for pointing these out. Yes, there is so much tech out there, and currently we don't have a way for users to just add their suggestions if it is not already in the list. I'm beginning to think such a feature would be useful.

BTW, would you (Nathan)/Mihai/John/Petar (or even others for that matter) like to get involved a bit earlier we plan the next surveys? It would be great to have some feedback before the link goes live and votes start coming in. You can mail me at roopesh.shenoy@vagsons.com if interested in helping us out make these surveys more useful - I would definitely appreciate it.

Not only that, we welcome all our readers to suggest the surveys that they would like to see!

Re: Too much emphasis on spiffy 3rd-party tools, not enough on practices by Roopesh Shenoy

I'd love to see questions like this more oriented to the brownfield programmer, yo.


I missed this earlier - do you have any specific survey/question in mind that you would like to see? Mail me if you have any ideas.

Cannot vote! by Eben Roux

I'm not on one of the 'login' providers (on Yahoo, though).

So how am I supposed to vote?

Castle Windsor: 4
NUnit: 3
Rhino Mocks: 1

Some remarks.... by Frans Bouma

1) The site only works for me in Chrome, FF 15.0.1 doesn't show the vote/results stuff
2) Why is 'lightspeed' as ORM mentioned but not LLBLGen Pro? Because the owner of Mindscape (developer of lightspeed) is posting on InfoQ?
3) If you want the poll to be at least a bit correct, you have to allow an 'other' option. Now there's just a choice from what you thought were the tools to use.

If I look at my own development tools, I use: Subversion, Mercurial, testdriven.net, devexpress controls, Janus sys controls, nunit. One of them is listed. What I produce with it is a tool for .NET developers, llblgen pro. Not listed. Gee, am I not a .NET developer? I thought I was.

Re: Some remarks.... by Roopesh Shenoy

Thanks for your feedback Frans.

1) There are some technical issues, I'll let Dio answer on that.
2) No - the research might include my bias in terms of what tools I have used or considered in the past, which I regret. The only way to avoid that is have more people review the items picked before it goes live.
3) You are right - I have mentioned the same thing above in one of the comments - I think such a feature would definitely help.

The way we designed the survey, was to identify adoption of tools for the categories mentioned above (BDD, Unit testing, ORM, CI - note TFS is included not as a source control tool here but as a CI tool). Mostly, we din't do such a good job of communicating this very clearly.

We are planning to have more surveys in future and will try to incorporate most of the feedback we are hearing.

Re: Some remarks.... by Frans Bouma

re 2: what do you mean, 'before it goes live', as it's live already? The results of this survey will be severally skewed: people who use other, more widely used, tools, are not able to vote for these, meaning it will _look_ as if these tools aren't used/not used that much.

The way we designed the survey, was to identify adoption of tools for the categories mentioned above (BDD, Unit testing, ORM, CI

Well, I have seen a lot of surveys in the past 10 years but this one is clearly one of the most short-sighted ones, sorry. This survey doesn't identify any kind of adoption, it only shows of the tools _YOU_ picked, which ones are more used, and at the same time, you give a signal that any tool not on the list is apparently not worth putting it there.

Re: Some remarks.... by Roopesh Shenoy

people who use other, more widely used, tools, are not able to vote for these, meaning it will _look_ as if these tools aren't used/not used that much.

Yes that's exactly what a new feature (to add new choices) will solve.
This survey doesn't identify any kind of adoption, it only shows of the tools _YOU_ picked, which ones are more used, and at the same time, you give a signal that any tool not on the list is apparently not worth putting it there

I agree - when we summarize the results into a post, we will point out all the tools mentioned in the comments which were not a part of the original survey, so that readers can consider those as well. It would skew the results further if we add new tools now to the survey now, because those choices will be available only to new voters.
If you do have other suggestions about how to make these surveys more useful (apart from the feature you suggested above) please let us know.

Re: Why is Autofac missing from the list ? by Pauli Lindholm

P.S. Since I have an account on InfoQ, I think you should have let me vote with that one.


I also wonder why should I identify myself with my Google account. InfoQ already has my email to that account.

Re: Why is Autofac missing from the list ? by Daniel Cazzulino

+1. We need Autofac!!!

Re: Why is Autofac missing from the list ? by Avinash Siddappa

Isn't DI already mentioned

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

21 Discuss
General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT