Skip to content
A-frame edited this page Sep 7, 2012 · 23 revisions

Welcome to the Coding Standards Wiki (CSW)!

This is a collection of best practices intended to be useful for career programmers and independent freelancers. There is a focus here on C#, but some concepts, such as "A function does one thing" (from Uncle Bob's Clean Code) can translate to a hundred different programming languages.

Having worked on several different projects with several different teams, there are certain best practices that can be identified that would apply to all projects. The goal here will not be to water down to the lowest common denominator, but to steer towards a level of cleanliness that encourages innovation and facilitates maintenance and readability.

It is acknowledged that some people have different preferences, say, on the naming of private members. But there are broader issues which can impact your ability to collaborate with others in a big way. It is practically a crime to leave your code in such a level of disarray under the assumption that you'll either clean it up later or always be the only one dealing with it&emdash;and then when another developer has to patch in an enhancement or find a bug, they could spend so much time trying to unravel it or read it that they might as well have started over from scratch. That is something all developers should try to avoid. No developer is an island. Your code should reflect an understanding of that. See Jeff Atwood on Paying Down Technical Debt.

Language-specific

Your Participation Is Requested!

The built-in Markdown compatibility and Git versioning make GitHub an ideal place for such a project, as well as the wide adoption of GitHub itself by open-source programmers. If you search for "coding standards" on GitHub, there are only a few repositories, and they are pretty much project-specific, so it's a wide-open "market" of sorts.

This is your chance to promote universal action regarding your favorite pet peeve! Make your voice heard! Maybe we can start something here and have the kind of effect that would help educate people around the world and reduce the frequency of messy spaghetti code we'll encounter in the future!

You can either fork or issue pull requests, even cloning the Wiki repository and editing with your favorite Markdown editor. If you don't feel like doing all that, feel free to just create an issue with your suggestions. We look forward to hearing from you!

Recommended apps for Markdown:

  • Byword (OS X, iOS)
  • SublimeText (OS X, Windows, Linux)
  • WriteMonkey (Windows)
Clone this wiki locally