Skip to main content

Coding Standards for C#

 

Coding Standards in C# by Ziggy Rafiq


Coding Standards in C#

Overview

The purpose of this document is to define a set of coding standards for C# projects. The purpose of these standards is to ensure consistency, readability, and maintainability of the codebase. The coding standards described in this document apply to all projects and codes developed by the organization.

Naming Conventions

  • Class names should be written in PascalCase.
  • Method names should be written in PascalCase.
  • Variable names should be written in camelCase.
  • Constants should be written in ALL_CAPS and separated by underscores.
  • Namespaces should be written in PascalCase.

Formatting

  • Use 4 spaces for indentation.
  • Braces should be on a new line and aligned with the code block.
  • Put a space before and after every operator.
  • Put a blank line between methods to increase readability.

Comments

  • Write comments for all methods, classes, and complex blocks of code.
  • Use XML documentation comments for public members.
  • Use inline comments when necessary to explain complex logic.

Exception Handling

  • Use try-catch blocks for handling exceptions.
  • Catch specific exceptions whenever possible.
  • Always make sure to log the exceptions in a centralized manner.
  • Do not catch exceptions just to hide them; instead, let them propagate.

Code Review

  • All code changes should be reviewed by at least one other team member.
  • Code reviews should be performed before committing changes to the code repository.
  • Feedback should be constructive and aim to improve the quality of the code.

Final Thoughts 

Adherence to these coding standards is crucial for ensuring the quality and maintainability of the codebase. Deviation from these standards may be necessary in some cases, but it should be done with caution and a clear justification. It is the responsibility of every member of the development team to follow these coding standards.

 

Comments

Most Viewed Ziggy Rafiq Blog Posts

A Complete Guide to Using GUIDs in C# with Code Examples

  Overview In this post, we are looking at GUIDs (Globally Unique Identifiers), which are widely used in C# for generating unique identifiers for objects, entities, and resources in a system. In this post, we'll explore the basics of GUIDs in C#, their advantages, and how to convert strings to GUIDs. In this post, we have used Guid Generator to create the GUID from the following URL Address https://guidgenerator.com/ What is GUID GUID (Globally Unique Identifier) in C# is a 128-bit value that is used to identify objects, entities, or resources in a unique manner across different systems and applications. It is also known as UUID (Universally Unique Identifier) in some other programming languages.   GUIDs are generated using a combination of unique factors such as the MAC address of the network adapter, the current time and date, and a random number. The resulting GUID is a string of 32 hexadecimal digits separated by hyphens, such as "b86f2096-237a-4059-8329-1bbcea72769b...

How to Truncate String in C#

  Overview In today’s post, I am writing about one of the fundamental aspects of C# and as programmers, we should use this approach I have realised throughout my life as a software engineer that not everyone knows the most basic approaches or how to use them efficiently. Truncating a string in C# means reducing the length of a string to a specified number of characters, typically by removing characters from the end of the string. This is often done when a string is too long to be displayed or used in a specific context and needs to be shortened to fit. Ley says if we have a string that is 100 characters long, but we only want to display the first 50 characters, we will truncate the string to a length of 50. There are several ways to truncate a string in C#, including using the Substring method, StringBuilder, and LINQ. A simple example of this is below, we're creating a longString variable with a long string value. We're also defining a maxLength variable with a value of 20...

ASP.net Core Services Lifetime Differences Between Using AddTransient, AddScoped and AddSingleton Services

  ASP.net Core Services Lifetime Differences Between Using AddTransient, AddScoped and AddSingleton Services Overview In this blog post, I will be explaining to you the ASP.net core Service Lifetime and will be explaining to you what is the difference between them and which one can be a risk to a memory leak if used incorrectly. AddTransient, AddScoped, and AddSingleton are dependency injection services in ASP.NET Core. The differences between them are as follows below. AddTransient: A new instance of the service is created every time it is requested. AddScoped: A single instance of the service is created per request within the same scope. AddSingleton: A single instance of the service is created for the entire application lifetime. In general, it's recommended to use AddScoped for services that are stateful and AddTransient for services that are stateless or have a short lifetime. AddSingleton is usually used for services that are expensive to create or only need to be crea...