7 октября 2020

C# Naming Conventions

Today, I am going to explain C# coding standards naming conventions for best practice when you are developing a .NET application.

Terminology There are following three terminologies are used to declare C# and .NET naming standards. 

  • Camel Case (camelCase): In this standard, the first letter of the word always in small letter and after that each word starts with a capital letter.
  • Pascal Case (PascalCase): In this the first letter of every word is in capital letter.
  • Underscore Prefix (_underScore): For underscore ( __ ), the word after _ use camelCase terminology.

Native DataType

Always use native datatype instead of .NET CTS type. For example, use int instead of Int32 or Int64.

  1. //Good  
  2. private int _salary = 100;  
  3. //Bad  
  4. private Int16 _salary = 100;  
  5. private Int32 _salary=100;  

Class

Always use PascalCase for class names. Try to use noun or noun phrase for class name. Do not give prefixes. Do not use underscores.

  1. public partial class About : Page  
  2. {  
  3.    //…  
  4. }  

Methods

Always use PascalCase for method names. Use maximum 7 parameters in a method.

  1. public string GetPosts(string postId)  
  2. {  
  3.    //…  
  4. }  

Note: Don’t use name as all character in CAPS.

Arguments and Local Variable

Always use camelCase with method arguments and local variables. Don’t use Hungarian notation for variables.

  1. public string GetPosts(string postId  
  2. {  
  3.    int numberOfPost = 0;   
  4. }  

Note: Don’t use abbreviations for any words and don’t use underscore ( _ ) in between any name.

Property

Use PascalCase for property. Never use Get and Set as prefix with property name.

  1. private int _salary = 100;  
  2. public int Salary  
  3. {  
  4.     get  
  5.     {  
  6.         return _salary;  
  7.     }  
  8.     set  
  9.     {  
  10.         _salary = value;  
  11.     }  
  12. }  

Note: Don’t use name with start with numeric character.

Interface

Always use letter “I” as prefix with name of interface. After letter I, use PascalCase.

  1. public interface IUser  
  2. {  
  3.    /// <summary>  
  4.    /// Check user is exists or not  
  5.    /// </summary>  
  6.    /// <returns>return bool value</returns>  
  7.    bool ValidateUser();  
  8. }  

Private Member Variable

Always try to use camelCase terminology prefix with underscore ( _ ).

  1. private int _salary = 100;  

Public Member Variable

Always use PascalCase for public member variable,

  1. public int Salary = 100;  

Member variable

Declare member variable at the top of the class, If class has static member then it will come at the top most and after that other member variable.

  1. public class Account  
  2. {  
  3.     public static string BankName;  
  4.     public static decimal Reserves;  
  5.     public string Number  
  6.     {  
  7.         get;  
  8.         set;  
  9.     }  
  10.     public DateTime DateOpened  
  11.     {  
  12.         get;  
  13.         set;  
  14.     }  
  15.     public DateTime DateClosed  
  16.     {  
  17.         get;  
  18.         set;  
  19.     }  
  20.     public decimal Balance  
  21.     {  
  22.         get;  
  23.         set;  
  24.     }  
  25.     // Constructor  
  26.     public Account()  
  27.     {  
  28.         // …  
  29.     }  
  30. }  

Enum

Always use PascalCasing as default naming standard. 

  • Use a singular type name for an enumeration unless its values are bit fields.
  • Use a plural type name for an enumeration with bit fields as values, also called flags enum.
  • Do not use an “Enum” suffix in enum type names.
  • Do not use “Flag” or “Flags” suffixes in enum type names.
  • Do not use a prefix on enumeration value names.  
  1. enum MailType  
  2. {  
  3.    Html,  
  4.    PlainText,  
  5.    Attachment  
  6. }  

Namespace

Always use PascalCase for namespace.

namespace NextProgramming.Domain

Standard Abbreviation for Standard Controls.   

AbbreviationsStandard Control
btnButton
cbCheckBox
cblCheckBoxList
ddlDropDownList
fuFileUpload
hdnHiddenField
hlkHyperlink
imgImage
lblLabel
lbtnLinkButton
mvMultiView
pnlPanel
txtTextBox
DataGriddtg
imbImageButton
lstListBox
dtlDataList
repRepeater
rdoRadioButton
rdlRadioButtonList
phdPlaceholder
tblTable
gvGridView
dtvDetailView
fvFormView


Events Names
  Events are associated with actions. Therefore, events are named with verbs. For example, Loaded, Clicked, and Printing.

  • Give events names with a concept of before, current, and after, using the present and past tenses. Depending on the page, window, control, or class, the event names for a page can be, Initialized, PreRender, Rendering, PostRender, and Exited. A button event can be OnClick.
  • Event handlers use “EventHandler” suffix, as shown in the following example:
  • public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);
  • Use two parameters named sender and e in event handlers.
  • Name event argument classes with the “EventArgs” suffix. 

Fields Names   Use PascalCasing in field names. Do not use a prefix for field names. Do not use underscores in field names.   Naming a DLL or Assembly   Assemblies or DLLs are created for a major functionality such as a math library. The library name should be, CompanyName.Component.Dll. For example, Mindcracker.Math.dll and Mindcracker.Data.dll.   Naming Parameters   Use camelCasing and descriptive parameter names. Use names based on a parameter’s meaning rather than the parameter’s type.    Naming Resources Use PascalCasing and descriptive names in resource keys. Use only alphanumeric characters and underscores in naming resources.  Summary   Today we learned coding standard naming conventions in C#. Thanks for reading this article, hope you enjoyed it.

Source: https://www.c-sharpcorner.com/

 32 total views,  1 views today

Раздел: C# | Комментарии к записи C# Naming Conventions отключены
5 октября 2018

Регулярные выражения в notepad++

Хотя эта статья гордо и названа Регулярные выражения в notepad++, это скорее шпаргалка, для самого себя, а также может быть кому-то ещё, пригодится. Смысл её таков, что иногда мне бывает что-то поменять, добавить или удалить в тексте. Как и всякий ленивый человек, я пытаюсь этот процесс облегчить, ускорить, короче оптимизировать и автоматизировать. Читать далее

 53 total views

Раздел: C#, C++, Qt, SQL, web, Программирование, Численные методы | Комментарии к записи Регулярные выражения в notepad++ отключены
26 сентября 2017

Отладка программы

Отладка программы: 3 типа ошибок

Отладка программы призвана выискивать «вредителей» кода и устранять их. За это отвечают отладчик и журналирование для вывода сведений о программе.
Читать далее

 55 total views

Раздел: C#, C++, Аркучи | Комментарии к записи Отладка программы отключены
18 декабря 2016

Консультации 19/XII – 28/XII

19-12-2016

  • 345-345а, Экзамен, Web – программирование с 09-00 до 12-00
  • ООП все группы, с 12-00 до 13-00

26-12-2016

  • 335 Консультация 202(б), БД и информационные системы, 09-00 до 11-00
  • Сдача Л/Р, БД и информационные системы, 335-335а-433, 11-00 до 12-00
  • Сдача Л/Р, ООП, 325-325а-423, 12-00 до 13-00
  • Сдача Л/Р, Web – программирование, 345-345а, 12-00 до 13-00

28-12-2016

  • 335 Экзамен 201рк, БД и информационные системы, 09-00 до 11-00
  • Сдача Л/Р, БД и информационные системы, 335-335а-433, 11-00 до 12-00
  • Сдача Л/Р, ООП, 325-325а-423, 12-00 до 13-00
  • Сдача Л/Р, Web – программирование, 345-345а, 12-00 до 13-00

 41 total views

Раздел: C#, SQL, web | Комментарии к записи Консультации 19/XII – 28/XII отключены
11 декабря 2016

Консультации 12/XII – 17/XII

12-12-2016

  • ООП все группы, с 10-00 до 12-00
  • Закрытие всех зачётных ведомостей

14-12-2016

  • 433, БД и инф системы, 335-335а-433, с 09-00 до 11-00

15-12-2016

  • 335а Консультация, БД и инф системы,  335-335а-433 с 09-00 до 11-00
  • 433 Экзамен, с 12-00 до 15-00

16-12-2016

  • 335а Экзамен, БД и инф системы, с 09-00 до 12-00
  • 345-345а Web-программирование с 12-00 до 13-00

17-12-2016

  • 345-345а, Консультация, Web-программирование с 10-00 до 12-00

 33 total views

Раздел: C#, SQL, web | Комментарии к записи Консультации 12/XII – 17/XII отключены
26 декабря 2015

Делегаты и события в .NET

От переводчика. Судя по своему опыту, а также по опыту знакомых коллег-программистов, могу сказать, что для начинающего разработчика среди всех базовых функций языка C# и платформы .NET делегаты и события являются одними из наиболее сложных. Возможно, это из-за того, что необходимость делегатов и событий на первый взгляд кажется неочевидной, или же из-за некоторой путаницы в терминах. Поэтому я решил перевести статью Джона Скита, рассказывающую о делегатах и событиях на самом базовом уровне, «на пальцах». Она идеальна для тех, кто знаком с C# .NET, однако испытывает затруднение в понимании делегатов и событий.
Читать далее

 44 total views

Раздел: C# | Комментарии к записи Делегаты и события в .NET отключены
10 июля 2015

Книги по программированию

  1. Язык программирования C# 2010 и платформа .NET 4 – Эндрю Троелсен
  2. C# 4.0 и платформа .NET 4 для профессионалов – Кристиан Нейгел
  3. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C# – Джеффри Рихтер
  4. C#. Программирование для профессионалов – Джон Скит
  5. C# 4.0. Полное руководство – Герберт Шилдт

 43 total views

Раздел: C# | Комментарии к записи Книги по программированию отключены