What are the most widely used .NET practices and tools?
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..
Why is Autofac missing from the list ?
by
Mihai Lazar
Re: Why is Autofac missing from the list ?
by
Mihai Lazar
Too much emphasis on spiffy 3rd-party tools, not enough on practices
by
John L
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.
Re: Too much emphasis on spiffy 3rd-party tools, not enough on practices
by
Roopesh Shenoy
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
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
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
ContinuousTest (continuoustests.com/) for compiling and running tests on the fly.
Re: Some suggestions ...
by
Roopesh Shenoy
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.
Missing a lot of tech
by
Nathan Gloyn
Simple.Data
FakeItEasy
NSubstitute
NDepend
NCover
NCrunch
Selenium
TinyIoC
Re: Missing a lot of tech
by
Roopesh Shenoy
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
So how am I supposed to vote?
Castle Windsor: 4
NUnit: 3
Rhino Mocks: 1
Some remarks....
by
Frans Bouma
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
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
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.




Hello stranger!
You need to Register an InfoQ account 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