简体   繁体   中英

.NET Team - Best Practices and Methods

What best practices and methods would you enforce on a new .NET development team?

Cheers

  • Use only Visual Studio
  • If you need a database, use a server (reduces SQL issues early on)
  • Use Version Control

Update

MSDN - Design Guidelines for Class Library Developers - All Versions

I had also assumed the OP was referencing coding standards. As for the more general practices.

  • Unified Development Environment (Visual Studio will probably net the best results)
  • Version Control ( Team Foundation Server is great if you can afford it, if not SVN )
  • Team Collaboration ( Trac if you go with SVN , TFS has some stuff as well)

Good question. I've had to deal with this very recently with my team. Here's a couple quick points:

  • Come up with coding and documentation standards. A search for C# style guidelines will yield some good results. StyleCop and FxCop might be useful for enforcing your standards.
  • Source control. SVN is popular, but I prefer Mercurial.
  • Depending upon what type of projects you are working on, you might want to decide on a standard architecture. Typically, we use a UI - Application - Business Logic - Infrastructure architecture.
  • Put your database in version control.

You are asking for a shelf of books. I don't think you'd want to read an answer long enough to actually cover what you asked.

Microsoft's Patterns & Practices group may have some suggestions that could be useful as a resource of where are some good practices.

Continuous Integration would be another practice I'd introduce along with Technical Debt .

I'd review various Agile practices and see what the team thinks are worth adopting and what isn't. Tribal Leadership would also be something I'd examine to see what stage is the tribe and try to bring it to stage 4 if possible.

If I could put some values into the team it would be to have some pride in our work, respect one another, and think of things in terms of good for the team rather than individual gain. Granted that culture wasn't part of the question it is a natural follow-up to my mind.

You need to use version control (svn is great), but at the same time you shouldn't check everything into the sourcecontrol. skip checking in compilation output and configuration files, instead check in the config files as app.config.template files and have each dev make his own copy of the config files called app.config. check in new changes to the .template file and have all devs regularly check and update their local version if it changes.

If possible, pair up junior members with more senior members. Either way, definitely have code reviews. I'd also encourage them to have scheduled workshops or discussions so that they can get more well-rounded skills and to increase their exposure to different areas that they might not currently be aware of.

I'd also encourage them to go to user group meetings.

I would start by looking through the MSDN Developer Centers site:

http://msdn.microsoft.com/en-us/aa937802.aspx

Since you are using C# I would recommend using StyleCop to maintain consistency in code layout. Since you've stated it's a new team, I'm assuming that the code base is new as well. Starting fresh with StyleCop is far easier than trying to get rid of warnings in an existing code base.

most people would agree that having automated unit tests is a very good thing. you may want to go the tdd route and never code anything that doesn't already have a test, or you may want to write tests after the code and just focus on the key areas of concern rather than striving for 100% coverage. either way, decide what you want to achieve with testing and make sure that it is adhered to. without a strict law on getting unit tests you may well find that some if not all of your code has no automated tests and the only way that code gets tested is when someone goes into the UI and actually uses it.

In no particular order,

  • Agile / Scrum
  • A nice suite of tools -Resharper, Redgate SQL Tools, FXCop,etc.
  • Test Driven Development
  • Continuous Integration

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM