Skip to content

A set of coding guidelines for C# 3.0, C# 4.0 and C# 5.0, design principles and layout rules for improving the overall quality of your code development.

License

Notifications You must be signed in to change notification settings

chanceagency/CSharpGuidelines

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coding Guidelines for C# 3.0, 4.0 and 5.0

Join the chat at https://gitter.im/dennisdoomen/csharpguidelines Build status

What is this

This document attempts to provide guidelines (or coding standards if you like) for coding in C# 3.0, 4.0 or 5.0 that are both useful and pragmatic. Of course, if you create such a document you should practice what you preach. So rest assured, these guidelines are representative to what we at Aviva Solutions do in our day-to-day work. Notice that not all guidelines have a clear rationale. Some of them are simply choices we made at Aviva Solutions. In the end, it doesn't matter what choice you made, as long as you make one and apply it consistently.

Why would you use this document?

Although some might see coding guidelines as undesired overhead or something that limits creativity, this approach has already proven its value for many years. This is because not every developer:

  • is aware that code is generally read 10 times more than it is changed;
  • is aware of the potential pitfalls of certain constructions in C#;
  • is up to speed on certain conventions when using the .NET Framework such as IDisposable or the deferred execution nature of LINQ;
  • is aware of the impact of using (or neglecting to use) particular solutions on aspects like security, performance, multi-language support, etc;
  • realizes that not every developer is as capable, skilled or experienced to understand elegant, but potentially very abstract solutions;

Where do I get them?

Go to the Releases page to find the latest HTML, PDF and other related files.

Can I create my own version?

Absolutely. The corresponding license allows you to fork, adapt and distribute that modified version within your organization as long as you refer back to the original version here. It's not required, but you would make me a very happy man if you credit me as the original author. And if you have any great ideas, recommendations or corrections, either submit an issue, or even better, fork the repository and provide me with a pull request. Just run the following command-line to compile the Markdown versions of the guidelines and cheatsheet to self-contained HTML files.

build.bat

Are there any other languages available?

Yes, Sergey Russkikh maintains a Russian translation through his fork.

Is there tooling support?

A code analyzer that verifies over 40 of these guidelines is available at https://github.com/bkoelman/CSharpGuidelinesAnalyzer. This open source tool can be run during CI builds or while typing code in Visual Studio 2015/2017. An updated Resharper settings file is included.

About

A set of coding guidelines for C# 3.0, C# 4.0 and C# 5.0, design principles and layout rules for improving the overall quality of your code development.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 74.3%
  • PowerShell 20.1%
  • CSS 5.3%
  • Batchfile 0.3%