1) Private/protected fieldy začínáji prefixem 'm' a pak odpovídají názvu property, kterou reprezentují v
camel-case
2) Variables, Property, Constructors, Methods jsou odděleny pomocí regionů v tomto pořadí (můžete,
nemusíte oddělit public properties/methods od private properties/methods. Mezi regiony je dvojité
odřádkování.
3) Mezi dvěma metodami/property/konstruktory je dvojité odřádkování
4) Názvy method a properties začínají vždy velkým písmenem (i když jsou private). Názvy jsou camel-
case.
5) Usingy jsou oddělené jedním řádkem podle toho odkud pochází. Nejdříve systémové usingy, pak
usingy z CMS, pak ostatní knihovny, pak speciální usingy
6) Všechny komentáře jsou v EN
7) Všechny řídící struktury (if, for, while, ...) používají blok kódu.
Špatně:
if (true) return;
Dobře:
if (true)
{
return;
}
8) Všechny public metody/proměnné/property/konstruktory mají smysluplný komentář
using System;
using System.Web;
using CMS.IO;
using CMS.GlobalHelper;
using AjaxControlToolkit;
using MyFile = MyNamespace.File;
namespace MyNamespace
{
public class MyClass
{
#region "Variables"
private string mMyProviderId;
#endregion
#region "Public properties"
///
/// Comment.
///
public string MyProviderID
{
get
{
return mMyProviderId;
}
}
///
/// Comment.
///
public string MyPublicProperty2
{
// Notice the double line space between MyProviderID and MyPublicProperty2.
get;
set;
}
#endregion
#region "Methods"
///
/// Comment.
///
public string GetSomething()
{
return "something";
}
#endregion
}
}