What's inwards name? "A rose past times whatever other mention would aroma as sweet" is a famous quote from William Shakespeare's classic Romeo as well as Juliet, but lamentable to say, mention affair a lot inwards programming as well as coding. It's also said that code is the best document for whatever software, because whatever other document or comments tin exceed away outdated quickly, but code volition ever tell yous truth; If code is thence best document than names are almost critical chemical constituent of it. Every effort, modest or big, invested piece naming variables or methods, pays inwards both curt term as well as long term. In fact, if yous inquire me precisely 1 coding exercise to follow, It would definitely recommend giving meaningful names to your variables as well as methods. One reason, I force for this coding exercise is because it improves readability of whatever algorithm or programme drastically. Since every programmer spends to a greater extent than fourth dimension reading code than writing, It would brand a lot of feel to give meaningful names to your programming element. Readability is also 1 of the almost of import aspect of create clean code. If yous laissez passer on to read Clean code, the mass past times Uncle Bob, yous would receive got seen a whole chapter on meaningful names, this precisely shows how of import it is to mention your variable, methods, classes as well as packages properly. Though these programming best practices are given from a Java programmer's perspective, they are every bit useful inwards whatever other programming language. In fact, almost of them are independent of whatever programming linguistic communication as well as tin survive used piece writing bash script, SQL stored procedures, C++ code and whatever other figurer program. In fact yous volition value these practices to a greater extent than inwards instance of musical rhythm script as well as database stored physical care for because they don't receive got tools as smart as Java IDEs.
It non precisely include best practices but also bad practices to avoid, because what non to do are every bit of import as what to do. At the same time, this listing is past times no agency consummate as well as if yous receive got whatever other adept exercise piece naming programming elements, experience costless to share.
Perfection is a journeying as well as everyday nosotros larn something important. So what are nosotros waiting for, let's come across amend way to mention your variables, methods, classes as well as packages inwards a figurer program.
1) Avoid Pointless Names
Pointless names e.g. variable names as abc, temp, data etc doesn't give away intent, they only trim readability. They are best suited for writing assay out programs, curt demo as well as non to a greater extent than than 50 lines of code. You should never utilization pointless mention inwards your routines inwards a professional person project. Why? because assay out programs are non maintained but a existent projection is maintained for years, exclusively yous piece of employment on assay out programs but many developers piece of employment inwards a professional person project.
2) Give Meaningful Names
This is counterpart of offset coding best practice. Instead of pointless names, supply meaningful names, which reveals intent of programmer. For instance method mention with getPayDate() is much amend with gpd() or getPD() because if I read getPayDate() somewhere inwards my code, I would know that this method is going to render me pay date, fifty-fifty after several years, but same cannot survive said for gpd() or getPD(). One programmer was arguing with me that he volition non follow this regulation with person methods because person methods are exclusively accessible inwards the cast as well as anyone tin come across their definition. He powerfulness receive got one-half indicate in that place but it volition non help, because best practices are habits and takes long fourth dimension to develop. If yous don't follow them always, yous are to a greater extent than similar volition non follow even when yous bespeak them. Also if your cast is to a greater extent than that 400 lines long, going dorsum as well as forth to come across Definition volition exclusively irritate yous to re-factor that method after precisely about time.
3) Prefer shorter mention over longer one, if it give away intent clearly.
I dear to utilization curt mention for my methods but exclusively if it's consummate as well as give away programmer's intention clearly, for instance betwixt getPayDate() as well as retreivePaymentDate(), quondam is amend than later. Since both are able to give away purpose, shorter ones are slowly to read as well as write, but don't forget to follow Java edible bean naming convention e.g. if variable mention is payDate thence getter method mention must survive getPayDate(). By the way hither I am tossed betwixt jQuery like method than Java's edible bean convention. I actually enjoyed using methods similar text() which render text (without argument) and overloaded version text(data) (with argument) which changes text.
4) Avoid Similar Names
Nothing is worse than similar names, for instance having 2 variables employee as well as employees, has every same graphic symbol except concluding one. This sort of differences are really difficult to spot, as well as oftentimes leads to subtle bugs, which are fifty-fifty harder to detect during code reviews. If yous receive got to stand upwards for a collection or plural, prefer something similar listOfEmployees, bunchOfEmployees over employees. By the way, survive careful piece using names which stand upwards for programming concept e.g. List is a ordered collection inwards Java, thence precisely about Java programmer may think that listOfEmployee is a ordered collection of Employee, which if it doesn't, volition create misunderstanding.
5) Prefer descriptive mention over curt form
This is counterpart of our before Java naming best practices, where I had argued for shorter names. Disclaimer in that place was that, shorter mention must give away purpose of variable or method e.g. getPayDate() is fine, but getLInd() is non as adept as getLiquidityIndicator(). So prefer shorter mention if as well as exclusively if it give away intent completely, otherwise select longer as well as descriptive name. What is your method is taking lot of character, 1 ground could survive that your method is doing to a greater extent than than 1 thing e.g. loadAndUpdateAllInstrumentRecords(), yous tin carve upwards this into 2 methods e.g. loadInstruments() as well as updateInstruments().
6) Follow Java Coding Convention
If yous are writing Java program, thence yous must follow Java Coding Convention, It's fifty-fifty to a greater extent than of import if yous are writing opened upwards root code. Since Java Coding Conventions are quite mutual alongside Java developers, it makes it slowly for precisely about other programmer to read your code. Some of the almost mutual Java coding convention are:
- Start mention of cast as uppercase missive of the alphabet e.g. Employee, Student or Thread.
- Start mention of method from modest graphic symbol as well as follow camel instance e.g. getEmployee(), getPayDate() etc.
- Use camel instance inwards variable names as good e.g. price, quantity, totalAmount etc.
- Use all caps for constants inwards Java e.g. MAX_QUANTITY, MAX_PRICE etc.
- follow edible bean naming convention, because many opened upwards root framework utilization reflection, which plant on edible bean naming convention. For instance display tag uses reflection as well as edible bean naming convention to present information inwards tabular array e.g. if yous specify name, display tag volition telephone telephone getName() method on tabular array information object.
7) Use Consistent Naming, Avoid Synonyms
This is precisely about other naming best exercise which tin survive argued, but consistency overrules whatever potential argument. Having synonyms for similar methods doesn't impairment also much, but it's amend to survive consistent e.g. instead of having 3 dissimilar methods destroy(), kill(), or finish() at dissimilar modules, prefer 1 of them e.g. destroy(). This volition brand your API to a greater extent than usable, as programmer volition survive able to predict as well as search to a greater extent than easily. It also helps yous to exceed away along 1 functionality at 1 house as well as avoid accidental duplication of code, recollect DRY (Don't Repeat Yourself).
8) Follow Classical Programming Convention
In offset Java best practices of naming variables, I had said that avoid using pointless names, but in that place are exceptions e.g. i and j as loop counter inwards for loop, as shown below.
9) In Java, cast mention should survive noun
Your cast mention should survive substantive as well as should tell what does this cast stand upwards for e.g. Employee, Thread, String etc. Similarly method names should start with verb e.g. get, set, do, invoke etc. Interface mention should depict powerfulness or CAN DO component subdivision e.g. Runnable tin run, Callable tin survive called etc. packet mention should follow measure fellowship construction e.g. com.company.project.module. You tin detect examples of Java packet naming convention inwards several opened upwards root projection e.g. Apache Commons BeanUtils uses org.apache.commons.beanutils.BasicDynaBean.
10) Avoid Clutters similar _, m_, o_
Some programmers tend to utilization specifies similar m_ to announce member variables, or only _ (underscore) to differentiate fellow member variable with local variables. Avoid doing that because, it looks similar clutter. Instead of this yous amend select meaningful as well as unique names. By the way, if your projection already uses m_ naming convention, thence amend stick with it, because it's non possible to rewrite or right whole project. It's fifty-fifty worse to receive got dissimilar naming convention at dissimilar component subdivision of code. Similarly, many programmer uses Hungarian annotation e.g. bExit for boolean variable, iMax for integer variables. Those are non also bad, if yous are working inwards a legacy code, but if yous writing it something from scratch don't utilization them.
11) Avoid using non ASCII characters as well as words from local language
Using whatever graphic symbol other than ASCII character, particularly non English linguistic communication is worst practice. Never utilization characters from other languages, it powerfulness non survive supported on all platforms, IDE as well as dissimilar machines. Similarly, don't utilization words from local languages e.g. Hindi, French or German. English linguistic communication is a universal linguistic communication for programming as well as stick with it. It's non guaranteed that side past times side programmer, who volition keep your code, volition sympathise local languages, thence amend avoid it.
12) Make adept utilization of mutual verb e.g. is, has, tin or do
I constitute naming boolean variable as well as methods with is, has, as well as can improves code readability. Methods similar isAlive(), hasNext(), canExecute() adds lot of value. You tin utilization same dominion to mention boolean variable, which are slowly to read when set on conditional declaration e.g.
That's all on Java best exercise of naming variables, methods, classes as well as packages. Most of advice are independent of programming build as well as tin survive used, piece writing bash scripts, routines, or SQL stored procedures. Though naming conventions are 1 of the primal aspect of programming, it's oftentimes overlooked. Don't satisfy with offset go, ever assay to read your code as well as strive for to a greater extent than meaningful names, which are clear as well as give away intent. Also cypher is as bad as inconsistency, don't mix upper as well as lower case, Hungarian convention to Java code convention etc. Let us know, what best practices yous guys are next piece naming variables as well as methods inwards Java.
Do yous similar Best Practices articles? If Yes, thence hither are precisely about amazing posts for farther reading as well as learning to a greater extent than techniques
Exception Handling Practices for Java Programmer
Tired with Null, follow these practices to avoid NPE inwards Java
Clean Code as well as Clean Coder mass past times Uncle Bob
Effective Java past times Josh Bloch
Java Best Practices of Proper Naming Convention
Here are precisely about of the programming or coding best practices professional person Java developer follow piece writing code, including myself. Most of these practices are mutual feel as well as acquired via years of experience of reading as well as writing code.It non precisely include best practices but also bad practices to avoid, because what non to do are every bit of import as what to do. At the same time, this listing is past times no agency consummate as well as if yous receive got whatever other adept exercise piece naming programming elements, experience costless to share.
Perfection is a journeying as well as everyday nosotros larn something important. So what are nosotros waiting for, let's come across amend way to mention your variables, methods, classes as well as packages inwards a figurer program.
1) Avoid Pointless Names
Pointless names e.g. variable names as abc, temp, data etc doesn't give away intent, they only trim readability. They are best suited for writing assay out programs, curt demo as well as non to a greater extent than than 50 lines of code. You should never utilization pointless mention inwards your routines inwards a professional person project. Why? because assay out programs are non maintained but a existent projection is maintained for years, exclusively yous piece of employment on assay out programs but many developers piece of employment inwards a professional person project.
2) Give Meaningful Names
This is counterpart of offset coding best practice. Instead of pointless names, supply meaningful names, which reveals intent of programmer. For instance method mention with getPayDate() is much amend with gpd() or getPD() because if I read getPayDate() somewhere inwards my code, I would know that this method is going to render me pay date, fifty-fifty after several years, but same cannot survive said for gpd() or getPD(). One programmer was arguing with me that he volition non follow this regulation with person methods because person methods are exclusively accessible inwards the cast as well as anyone tin come across their definition. He powerfulness receive got one-half indicate in that place but it volition non help, because best practices are habits and takes long fourth dimension to develop. If yous don't follow them always, yous are to a greater extent than similar volition non follow even when yous bespeak them. Also if your cast is to a greater extent than that 400 lines long, going dorsum as well as forth to come across Definition volition exclusively irritate yous to re-factor that method after precisely about time.
3) Prefer shorter mention over longer one, if it give away intent clearly.
I dear to utilization curt mention for my methods but exclusively if it's consummate as well as give away programmer's intention clearly, for instance betwixt getPayDate() as well as retreivePaymentDate(), quondam is amend than later. Since both are able to give away purpose, shorter ones are slowly to read as well as write, but don't forget to follow Java edible bean naming convention e.g. if variable mention is payDate thence getter method mention must survive getPayDate(). By the way hither I am tossed betwixt jQuery like method than Java's edible bean convention. I actually enjoyed using methods similar text() which render text (without argument) and overloaded version text(data) (with argument) which changes text.
4) Avoid Similar Names
Nothing is worse than similar names, for instance having 2 variables employee as well as employees, has every same graphic symbol except concluding one. This sort of differences are really difficult to spot, as well as oftentimes leads to subtle bugs, which are fifty-fifty harder to detect during code reviews. If yous receive got to stand upwards for a collection or plural, prefer something similar listOfEmployees, bunchOfEmployees over employees. By the way, survive careful piece using names which stand upwards for programming concept e.g. List is a ordered collection inwards Java, thence precisely about Java programmer may think that listOfEmployee is a ordered collection of Employee, which if it doesn't, volition create misunderstanding.
5) Prefer descriptive mention over curt form
This is counterpart of our before Java naming best practices, where I had argued for shorter names. Disclaimer in that place was that, shorter mention must give away purpose of variable or method e.g. getPayDate() is fine, but getLInd() is non as adept as getLiquidityIndicator(). So prefer shorter mention if as well as exclusively if it give away intent completely, otherwise select longer as well as descriptive name. What is your method is taking lot of character, 1 ground could survive that your method is doing to a greater extent than than 1 thing e.g. loadAndUpdateAllInstrumentRecords(), yous tin carve upwards this into 2 methods e.g. loadInstruments() as well as updateInstruments().
6) Follow Java Coding Convention
If yous are writing Java program, thence yous must follow Java Coding Convention, It's fifty-fifty to a greater extent than of import if yous are writing opened upwards root code. Since Java Coding Conventions are quite mutual alongside Java developers, it makes it slowly for precisely about other programmer to read your code. Some of the almost mutual Java coding convention are:
- Start mention of cast as uppercase missive of the alphabet e.g. Employee, Student or Thread.
- Start mention of method from modest graphic symbol as well as follow camel instance e.g. getEmployee(), getPayDate() etc.
- Use camel instance inwards variable names as good e.g. price, quantity, totalAmount etc.
- Use all caps for constants inwards Java e.g. MAX_QUANTITY, MAX_PRICE etc.
- follow edible bean naming convention, because many opened upwards root framework utilization reflection, which plant on edible bean naming convention. For instance display tag uses reflection as well as edible bean naming convention to present information inwards tabular array e.g. if yous specify name, display tag volition telephone telephone getName() method on tabular array information object.
7) Use Consistent Naming, Avoid Synonyms
This is precisely about other naming best exercise which tin survive argued, but consistency overrules whatever potential argument. Having synonyms for similar methods doesn't impairment also much, but it's amend to survive consistent e.g. instead of having 3 dissimilar methods destroy(), kill(), or finish() at dissimilar modules, prefer 1 of them e.g. destroy(). This volition brand your API to a greater extent than usable, as programmer volition survive able to predict as well as search to a greater extent than easily. It also helps yous to exceed away along 1 functionality at 1 house as well as avoid accidental duplication of code, recollect DRY (Don't Repeat Yourself).
8) Follow Classical Programming Convention
In offset Java best practices of naming variables, I had said that avoid using pointless names, but in that place are exceptions e.g. i and j as loop counter inwards for loop, as shown below.
for(int i=0; i<10; i++){ // your code }Programmers are thence familiar with that, they would survive surprised to come across whatever other mention for loop counters. Similarly getters as well as setters are named similar that.
9) In Java, cast mention should survive noun
Your cast mention should survive substantive as well as should tell what does this cast stand upwards for e.g. Employee, Thread, String etc. Similarly method names should start with verb e.g. get, set, do, invoke etc. Interface mention should depict powerfulness or CAN DO component subdivision e.g. Runnable tin run, Callable tin survive called etc. packet mention should follow measure fellowship construction e.g. com.company.project.module. You tin detect examples of Java packet naming convention inwards several opened upwards root projection e.g. Apache Commons BeanUtils uses org.apache.commons.beanutils.BasicDynaBean.
10) Avoid Clutters similar _, m_, o_
Some programmers tend to utilization specifies similar m_ to announce member variables, or only _ (underscore) to differentiate fellow member variable with local variables. Avoid doing that because, it looks similar clutter. Instead of this yous amend select meaningful as well as unique names. By the way, if your projection already uses m_ naming convention, thence amend stick with it, because it's non possible to rewrite or right whole project. It's fifty-fifty worse to receive got dissimilar naming convention at dissimilar component subdivision of code. Similarly, many programmer uses Hungarian annotation e.g. bExit for boolean variable, iMax for integer variables. Those are non also bad, if yous are working inwards a legacy code, but if yous writing it something from scratch don't utilization them.
11) Avoid using non ASCII characters as well as words from local language
Using whatever graphic symbol other than ASCII character, particularly non English linguistic communication is worst practice. Never utilization characters from other languages, it powerfulness non survive supported on all platforms, IDE as well as dissimilar machines. Similarly, don't utilization words from local languages e.g. Hindi, French or German. English linguistic communication is a universal linguistic communication for programming as well as stick with it. It's non guaranteed that side past times side programmer, who volition keep your code, volition sympathise local languages, thence amend avoid it.
12) Make adept utilization of mutual verb e.g. is, has, tin or do
I constitute naming boolean variable as well as methods with is, has, as well as can improves code readability. Methods similar isAlive(), hasNext(), canExecute() adds lot of value. You tin utilization same dominion to mention boolean variable, which are slowly to read when set on conditional declaration e.g.
if(isRaining){ bringUmbrella(); }
That's all on Java best exercise of naming variables, methods, classes as well as packages. Most of advice are independent of programming build as well as tin survive used, piece writing bash scripts, routines, or SQL stored procedures. Though naming conventions are 1 of the primal aspect of programming, it's oftentimes overlooked. Don't satisfy with offset go, ever assay to read your code as well as strive for to a greater extent than meaningful names, which are clear as well as give away intent. Also cypher is as bad as inconsistency, don't mix upper as well as lower case, Hungarian convention to Java code convention etc. Let us know, what best practices yous guys are next piece naming variables as well as methods inwards Java.
Do yous similar Best Practices articles? If Yes, thence hither are precisely about amazing posts for farther reading as well as learning to a greater extent than techniques
Exception Handling Practices for Java Programmer
Tired with Null, follow these practices to avoid NPE inwards Java
Clean Code as well as Clean Coder mass past times Uncle Bob
Effective Java past times Josh Bloch