Skip to content

feat: naming rules (coding standards) #670

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Mar 30, 2021
78 changes: 78 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ indent_style = space
indent_size = 4

# formatting rules
dotnet_diagnostic.IDE0001.severity = error # Simplify name
dotnet_diagnostic.IDE0002.severity = error # Simplify member access
dotnet_style_qualification_for_field = false:error
dotnet_style_qualification_for_property = false:error
dotnet_style_qualification_for_method = false:error
Expand All @@ -24,3 +26,79 @@ csharp_prefer_braces = true:error
csharp_using_directive_placement = outside_namespace:error

# naming rules
# namespace MLAPI { ... }
# public class NetworkObject { ... }
# public void Spawn(...) { ... }
dotnet_naming_symbols.usertypes_naming_symbols.applicable_kinds = namespace, class, struct, enum, property, method, field, event, delegate, local_function
dotnet_naming_symbols.usertypes_naming_symbols.applicable_accessibilities = public, internal
dotnet_naming_style.usertypes_naming_style.capitalization = pascal_case
dotnet_naming_rule.usertypes_naming_rule.symbols = usertypes_naming_symbols
dotnet_naming_rule.usertypes_naming_rule.style = usertypes_naming_style
dotnet_naming_rule.usertypes_naming_rule.severity = error

# public void ChangeOwnership(ulong newOwnerClientId) { ... }
# ulong[] targetClientIds = clientRpcParams.Send.TargetClientIds;
dotnet_naming_symbols.paramlocal_naming_symbols.applicable_kinds = parameter, local
dotnet_naming_symbols.paramlocal_naming_symbols.applicable_accessibilities = *
dotnet_naming_style.paramlocal_naming_style.capitalization = camel_case
dotnet_naming_rule.paramlocal_naming_rule.symbols = paramlocal_naming_symbols
dotnet_naming_rule.paramlocal_naming_rule.style = paramlocal_naming_style
dotnet_naming_rule.paramlocal_naming_rule.severity = error

# interface INetworkSerializable
dotnet_naming_symbols.interface_naming_symbols.applicable_kinds = interface
dotnet_naming_symbols.interface_naming_symbols.applicable_accessibilities = public, internal
dotnet_naming_style.interface_naming_style.required_prefix = I
dotnet_naming_style.interface_naming_style.capitalization = pascal_case
dotnet_naming_rule.interface_naming_rule.symbols = interface_naming_symbols
dotnet_naming_rule.interface_naming_rule.style = interface_naming_style
dotnet_naming_rule.interface_naming_rule.severity = error

# class NetworkVariable<T>
# class NetworkDictionary<TKey, TValue>
dotnet_naming_symbols.typeparam_naming_symbols.applicable_kinds = type_parameter
dotnet_naming_symbols.typeparam_naming_symbols.applicable_accessibilities = public, internal
dotnet_naming_style.typeparam_naming_style.required_prefix = T
dotnet_naming_style.typeparam_naming_style.capitalization = pascal_case
dotnet_naming_rule.typeparam_naming_rule.symbols = typeparam_naming_symbols
dotnet_naming_rule.typeparam_naming_rule.style = typeparam_naming_style
dotnet_naming_rule.typeparam_naming_rule.severity = error

# const int k_MaxCount
dotnet_naming_symbols.constant_naming_symbols.applicable_kinds = field
dotnet_naming_symbols.constant_naming_symbols.applicable_accessibilities = private, protected, protected_internal, private_protected
dotnet_naming_symbols.constant_naming_symbols.required_modifiers = const
dotnet_naming_style.constant_naming_style.required_prefix = k_
dotnet_naming_style.constant_naming_style.capitalization = pascal_case
dotnet_naming_rule.constant_naming_rule.symbols = constant_naming_symbols
dotnet_naming_rule.constant_naming_rule.style = constant_naming_style
dotnet_naming_rule.constant_naming_rule.severity = error

# static readonly Vector3 k_DefaultLength
dotnet_naming_symbols.staticreadonly_naming_symbols.applicable_kinds = field
dotnet_naming_symbols.staticreadonly_naming_symbols.applicable_accessibilities = private, protected, protected_internal, private_protected
dotnet_naming_symbols.staticreadonly_naming_symbols.required_modifiers = static, readonly
dotnet_naming_style.staticreadonly_naming_style.required_prefix = k_
dotnet_naming_style.staticreadonly_naming_style.capitalization = pascal_case
dotnet_naming_rule.staticreadonly_naming_rule.symbols = staticreadonly_naming_symbols
dotnet_naming_rule.staticreadonly_naming_rule.style = staticreadonly_naming_style
dotnet_naming_rule.staticreadonly_naming_rule.severity = error

# static int s_SharedCount
dotnet_naming_symbols.staticfield_naming_symbols.applicable_kinds = field
dotnet_naming_symbols.staticfield_naming_symbols.applicable_accessibilities = private, protected, protected_internal, private_protected
dotnet_naming_symbols.staticfield_naming_symbols.required_modifiers = static
dotnet_naming_style.staticfield_naming_style.required_prefix = s_
dotnet_naming_style.staticfield_naming_style.capitalization = pascal_case
dotnet_naming_rule.staticfield_naming_rule.symbols = staticfield_naming_symbols
dotnet_naming_rule.staticfield_naming_rule.style = staticfield_naming_style
dotnet_naming_rule.staticfield_naming_rule.severity = error

# int m_CurrentCount
dotnet_naming_symbols.memberfield_naming_symbols.applicable_kinds = field
dotnet_naming_symbols.memberfield_naming_symbols.applicable_accessibilities = private, protected, protected_internal, private_protected
dotnet_naming_style.memberfield_naming_style.required_prefix = m_
dotnet_naming_style.memberfield_naming_style.capitalization = pascal_case
dotnet_naming_rule.memberfield_naming_rule.symbols = memberfield_naming_symbols
dotnet_naming_rule.memberfield_naming_rule.style = memberfield_naming_style
dotnet_naming_rule.memberfield_naming_rule.severity = error
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public static uint Hash(this MethodDefinition methodDefinition)
}
}

public static bool IsSubclassOf(this TypeDefinition typeDefinition, string ClassTypeFullName)
public static bool IsSubclassOf(this TypeDefinition typeDefinition, string classTypeFullName)
{
if (!typeDefinition.IsClass)
{
Expand All @@ -61,7 +61,7 @@ public static bool IsSubclassOf(this TypeDefinition typeDefinition, string Class
var baseTypeRef = typeDefinition.BaseType;
while (baseTypeRef != null)
{
if (baseTypeRef.FullName == ClassTypeFullName)
if (baseTypeRef.FullName == classTypeFullName)
{
return true;
}
Expand All @@ -79,7 +79,7 @@ public static bool IsSubclassOf(this TypeDefinition typeDefinition, string Class
return false;
}

public static bool HasInterface(this TypeReference typeReference, string InterfaceTypeFullName)
public static bool HasInterface(this TypeReference typeReference, string interfaceTypeFullName)
{
if (typeReference.IsArray)
{
Expand All @@ -90,7 +90,7 @@ public static bool HasInterface(this TypeReference typeReference, string Interfa
{
var typeDef = typeReference.Resolve();
var typeFaces = typeDef.Interfaces;
return typeFaces.Any(iface => iface.InterfaceType.FullName == InterfaceTypeFullName);
return typeFaces.Any(iface => iface.InterfaceType.FullName == interfaceTypeFullName);
}
catch
{
Expand Down
Loading