Samstag, 28. Juli 2012

Design Guidelines in Microsoft Technologien

Eine hohe Qualität des Source Codes gehört bekanntlich zu einer hohen Produktqualität dazu. Schon ein Blick auf die Fehleranfälligkeit und Wartbarkeit eines Systems offenbart die direkte Abhängigkeit zu der Qualität des Quelltextes. Hierbei ist insbesondere die Detail-Ebene gemeint, also bis zu Namensgebungen von Variablen und Felder oder bestimmte "Coding Practices".

Ich möchte hiermit zunächst einen Überblick über bekannte Design Guidelines im C# Umfeld geben und anschließend weitere, weniger populäre, Leitlinien auflisten.

Guideline == Gesetz || ( Vorlage && Hilfe ) ?

Zunächst ein kurzer Blick auf das Wort Guideline. Deutsche Übersetzungen führen schnell zu Richtlinie, Leitlinie, Orientierungshilfe und sogar Vorlage. Leider bemerke ich zu oft, dass vor allem Richtlinie als adäquate Übersetzung angesehen wird.
Ein Blick in den Duden zeigt folgendes:
  • Richtlinie, die
    von einer höheren Instanz ausgehende Anweisung für jemandes Verhalten in einem bestimmten Einzelfall, in einer Situation, bei einer Tätigkeit o. Ä.
Hingegen zeigen die Bedeutungen der anderen Wörter eine andere Richtung:
  • Leitlinie, die
    bestimmender Grundsatz, leitender Gesichtspunkt, richtungweisender Anhaltspunkt (für das Handeln)
  • Orientierungshilfe, die
    etwas, was der Orientierung, dem Sichorientieren dient
Ich denke, dass es besonders wichtig ist deutlich zu machen, das mithilfe von Guidelines Orientierungshilfen den Entwicklern geboten werden und keine Gesetze.

C# Design Guidelines

Zunächst eine Auflistung von C# Design Guidelines. Die Auflistung ist von offiziell, über halb offiziell/sehr verbreitet, nach in-offiziell gegliedert - allerdings nach meiner persönlichen Einschätzung.
  • Framework Design Guidelines: Conventions, Idioms, and Patterns for Reuseable .NET Libraries (2nd Edition)
    “Framework Design Guidelines, Second Edition, teaches developers the best practices for designing reusable libraries for the Microsoft .NET Framework.”
    Buch, Oktober 2008, http://www.amazon.de/dp/0321545613/
  • Design Guidelines for Developing Class Libraries
    “The design guidelines for developing class libraries are for library development that extends and interacts with the .NET Framework.”
    Online @ MSDN, Ausschnitte von
    Framework Design Guidelines 2005, http://msdn.microsoft.com/en-us/library/ms229042.aspx
  • All-In-One Code Framework Coding Standards
    “Coding style guideline for native C++ and .NET (C# and VB.NET) programming used by the Microsoft All-In-One Code Framework project team.”
    Word-Dokument, März 2012,
    http://1code.codeplex.com/releases/view/84683
  • IDesign C# Coding Standard
    „The standard helps in enforcing best practices and avoiding pitfalls, and makes knowledge dissemination across the team easier. … the C# coding standard presented here is very thin on the why and very detailed on the what and the how.“
    PDF, Juli 2011,
    http://www.idesign.net/
  • Coding Guidelines for C# 3.0 and C# 4.0
    “A set of coding guidelines for C# 3.0 and C# 4.0, design principles and layout rules for improving the overall quality of your code development.”
    PDF, Juli 2011,
    http://csharpguidelines.codeplex.com/
  • Encodo C# Handbook
    “This document covers many aspects of programming with C#, from naming, structural and formatting conventions to best practices for using existing and developing new code.”
    PDF, Oktober 2009,
    http://archive.msdn.microsoft.com/encodocsharphandbook

WCF Guidelines

  • WCF Guidelines and Best Practices
    “This section contains topics that provide guidelines for creating Windows Communication Foundation (WCF) applications.”
    Online @ MSDN, Juni 2011, http://msdn.microsoft.com/en-us/library/ms731197.aspx
  • IDesign WCF Coding Standard
    „The standard helps in enforcing best practices and avoiding pitfalls, and makes knowledge dissemination across the team easier. … the WCF coding standard presented here is very thin on the why and very detailed on the what and the how.“
    PDF, August 2010,
    http://www.idesign.net/

UI Design Guidelines


Other Guidelines


Keine Kommentare:

Kommentar veröffentlichen