Standard Naming Convention for ASP.NET and C#
In programming language naming convention have great benefits to reduce the effort needed to read and understand source code. It provides better understanding in case of reuse code after a long interval of time. It is an initial step for beginner to learn any programming language. It is a very important element. Here I have explained some criteria about naming convention for programmer.
There are different types of naming casing style. First let’s understand different types of casing styles.
- Camel Case (camelCase): First letter of the word is lower case and then each first letter of the part of the word is upper case. Example: numberOfDays
- Pascal Case (PascalCase): First letter of the word is upper case and then each first letter of the part of the word is upper case. Example: DataTable
- Underscode Prefix (_underscore): The word begins with underscore singe and for the rest of the word use camelCase rule. Example: _strFirstName
- Hungarian Notation: First letter of the word is about its data type and rest of the word is camelCase. Example: iStudentNumber (i=integer)
- Uppercase: All letters of the word are uppercase. Example: ID, PI
Naming Convention Guidelines
1. Private Variables
Use Camel Case for private variables.
Example: studentName
2. Local Variables
Use Camel Case for local variables.
Example: studentName
3. Method
Use Pascal Case for method name.
Example: public string HelloWorld { … }
4. Property/ Enumerations
Use Pascal Case for Property/Enumerations.
Example: StudentName, StudentAddress
5. Parameter
Use Camel Case for parameter
Example: void SayHello(string studentName)
{
string fullMessage = “Hello ” + studentName;
}
6. Namespace
Use Pascal Case for namespace. Use the company name followed by the technology name and optionally the feature and design as follows:
CompanyName.TechnologyName[.Feature][.Design]
Example: CybarLab.Database, System.Web.UI, System.Windows.Forms
7. Class
Use Pascal Case for class
Example:
public class HelloWorld { … }
8. Interface
Use Pascal Case for interface. Use Prefix “I” with interface name, to indicate that the type is an interface. Do not use the underscore character (_).
Example: IServiceProvider, IMemberDirectory
9. Event
Use Pascal Case for event.
Example: protected void Button1_Click(object sender, EventArgs e) {…….}
10. Exception
Visual Studio .NET use “e” parameter for the event parameter to the call. To avoid conflicting please use “ex” as a standard variable name for an exception object.
Example:
catch (Exception ex)
{
// Handle Exception
}
11. Constant
Use uppercase for constant variables with words separated by underscores. It is recommended to use a grouping naming schema.
Example (for group AP_WIN):
AP_WIN_MIN_WIDTH, AP_WIN_MAX_WIDTH
12. Avoid abbreviations longer than 5 characters
13. Avoid using abbreviations unless the full name is excessive
Example:
Good: string student
Not good: string stu
14. Use meaningful, descriptive words for naming variables
15. All member variables must use Underscore Prefix so that they can be identified from other local variables names
16. Avoid naming conflicts with existing .NET Framework namespaces or types
17. Do not include the parent class name within a property name
Example
Good: Customer.Name
Not good: Customer.CustomerName
18. Use Pascal Case for file names
19. Method name should tell you what it does
20. A method should do only “one job”. Do not combine multiple jobs in one method even if those jobs have very few lines of code.
Naming Convention of ASP.NET Control
In general, naming ASP.NET controls is made using Camel Case naming convention, where the prefix of the name is the abbreviation of the control type name.
ASP.NET Control
|
Abbreviation
|
Standard Controls
|
|
Button
|
btn
|
CheckBox
|
cbx
|
CheckBoxList
|
cbxl
|
DropDownList
|
ddl
|
FileUpload
|
fu
|
HiddenField
|
hdn
|
Hyperlink
|
lnk
|
Image
|
img
|
ImageButton
|
ibtn
|
Label
|
lbl
|
LinkButton
|
lbtn
|
ListBox
|
lb
|
Literal
|
lit
|
MultiView
|
mv
|
Panel
|
pnl
|
PlaceHolder
|
ph
|
RadioButton
|
rbo
|
RadioButtonList
|
rbol
|
Table
|
tbl
|
TextBox
|
txt
|
View
|
v
|
Data Controls
|
|
DataList
|
dtl
|
DataPager
|
dp
|
DetailsView
|
dtv
|
EntityDataSource
|
ets
|
FormView
|
fv
|
GridView
|
gv
|
LinqDataSource
|
lds
|
ListView
|
lv
|
ObjectDataSource
|
ods
|
QueryExtender
|
qe
|
Repeater
|
rpt
|
SiteMapDataSource
|
smd
|
SqlDataSource
|
sds
|
XmlDataSource
|
xds
|
Validation Controls
|
|
CompareValidator
|
cpv
|
CustomValidator
|
ctv
|
RangeValidator
|
rv
|
RegularExpressionValidator
|
rev
|
RequiredFieldValidator
|
rfv
|
ValidationSummary
|
Vs
|
In summery we can say that use Pascal Case for anything which is public. Try to avoid underscore “_” or hyphen “-”.
……………………………………………………………………………………………………………………………………………
Pascal case is used in .NET for naming Namespaces, Classes, Methods, Properties etc.
Examples:
Namespaces:
Use company name then technology name and then feature name with Pascal case like XYZCompany.Media
Classes:
Use noun or noun phrase with Pascal case like ImageViewer.
Don’t use C as prefix for classes.
Interfaces:
Use I as prefix with Pascal case like IViewer.
Variables:
Either use Camel case like userID or Pascal case like UserID
Controls:
Use 3 digit prefix with Camel case.
Textbox: txtName
Button: btnName
Label: lblName
Panel: pnlViewer
Image: imgName
Properties:
Use noun or noun phrase with Pascal case like UserID, Password etc.
Methods:
Use verb or verb phrase with Pascal case like InsertQuery(), GetUserInfo() etc.