Hello world!
I am looking for a set of nice plugins to use when developing software. Currently I am soloing a project where I simultaniously experiment with TDD as I go through the project. Recently I have been quite hyped about agiles processes and wonder how I can further integrate tools that will aid in my task of both completing the project and learn TDD. Further I am looking into integrating with SVN, or other version source control repositories. I would also want to include version information into the build as I will publish version milestones publicly, for feedback. It is my desire to finally learn how to create robust and maintainable software, and take a leap out of the cowboy coding world that I have so long stayed in.
I am a bit catious about getting too many plugins at first, because I feel that may cause more harm than good if I get lost, or not utilize them as intended. Some that do come to my mind are Style Cop/Fx Cop for maintaining coding standards, Visual SVN for SVN integration, Testdriven with NUnit (and possible Moq, but that is only because I haven't looked into NUnits mocking library). I haven't yet tried out tools like resharper, but I am considering to try it out as I have heard a lot good about it.
I am coding exclusively in C#, writing a class library for use in Unity3D, a free game engine with support for .NET 2.0. However, the tests themselves can be any .NET version that my installation supports. I have heard something about automated tests that will cause you to fail a commit, and I am excited about getting my toes dipped in this as soon as I can, as I believe that will push me to learn TDD better.
If you know of any other plugins that would suit my needs, or if you think I should choose one over another, please let me know.
As I am quite new to plugins, I wouldn't mind if you could motivate why and when to use them. I am really excited about getting a nice environment to hone my skills in.
Thank you for taking your time reading this. I hope you have something to add in :)
Edit
I realize now from some playing around with Style Cop that it might not be the best suited plugin for TDD and agile approaches with its default settings. While I do think the code I produce holds a very high standard using it, I feel many of the rules (such as strict documentation) are less than agile since you have to pay for that up front. In TDD, the tests themselves serves as documentation and specification. Thinking agile you should not do what you don't need to do.
In my specific case, I do not need extra documentation because this library is not intended to be shared among other developers. It might do in the future however, and then we land in another ball park. I am a bit dubious about overriding these rules. I suppose on one hand I want clean and solid code to practice "good coding", on another hand I want to narrow in a little bit more on TDD, and in the end I want production value.
I wanted to post my thought about using Style Cop with default settings in case a new developer reads the original article and blindly decides to use it because it was listed here, only to find it more cumbersome than worthwhile. I think the key is to understand your needs and identify if a certain feature contributes toward your production values.