- Development of a common sense and sharing of knowledge among different development teams
- Similarity among realization of software solutions (i.e. a corporate design encompasses many "standards")
- Easier maintenance
- Greater flexibility in sharing developers among development teams (they work the same way)
- Represent proven, best practices of approaching problems
- Tend to get improved over time as they are continuously implemented across different projects
How to Promote Them Among Teams??
There are different kind of strategies for promoting standards among developers. I usually prefer the active kind of approaches. It is of high importance to nail them down on some company-internal wiki site where people can go and have a look at them. However, from a learning point of view, doing presentations and pair programming sessions for disseminating new standards is way more effective.
At the coding level, IDE integrated code snippets are a great way of supporting the diffusion of such standards among the different developers. Consider for instance that we want each of our unit test methods structured according to the suggested AAA pattern:
[TestMethod]How can you help your devs follow such guidelines? An interesting approach is to make the implementation of these standards as easy as possible, for instance by creating code snippets for the IDE, i.e. Visual Studio. So - for instance - a dev does just have to type "newTestMethod" for the above construct to appear on his editor. Visual Studio is very good at allowing to define such snippets and by using the Snippet Editor it requires you really just a few clicks to create a new snippet.
public void TestCreateSum_TwoValidPositiveNumbers_ShouldSumUpCorrectly()
The Problem: Sharing...and Documenting
As long as you keep the snippet just locally for yourself, others in your team can't benefit from it. The best place therefore is to deploy all code snippets at a central location which is accessible by all of them. Maybe on Dropbox, or some network drive. Your team mates then reference this location containing the snippets in their IDE. When you update one of the snippets, they immediately get the update on their editor.
The problem: how do you document them. How do your team mates know which snippets are available?? Directly browsing the .snippet files on the folder?? Bad!
SnippetDoc aims to address this lack of documentation possibilities. It is a very small, tiny app I wrote which automates the process of scanning a given snippet folder and then to produce a nicely formatted HTML report with the found snippets.
Check it out at
But be patient, at the time of this post it is still in beta :). Feel free to leave some comments for improvements / defects.