Abbreviating is very important so that we look smart and save memory and mind space.
Problems
Coupling
Bad Naming
Declarativeness
Ambiguity
Readability
Premature Optimization
Solutions
- Use meaningful/declarative names.
Examples
Variable naming
Function naming
Package naming
Class Naming
Sample Code
Wrong
package main
import "fmt"
func main() {
fmt.Println("Hello, World")
}
Right
package main
import "formatter"
function main() {
formatter.Printline("Hello, World")
}
Detection
We can't automate choosing what is a short name and a declarative.
Some "modern" and shinny languages enforce this bad practice. So we should wisely choose a good language instead.
Tags
- Declarative
Conclusion
Computer science was born from the mother of science (mathematics). In math, the assignment of single letter variables (i, j, x, y) is a good practice.
The concept of reference arose from the variable.
Many people wondered why mathematicians can work with such short variables, and computer scientists cannot.
For mathematicians, once entered into a formula, variables lose all semantics and become indistinguishable.
We need to care more about semantics and reading.
Our brain wastes a lot of energy figuring out what is the meaning of an abbreviation.
Sometimes we even mistake them
/usr stands for universal system resources not user
/dev stands for device not development.
It is 2020, We need to write software for humans, not for compilers.
Relations
More info
Credits
Photo by Jessica Knowlden on Unsplash
A long descriptive name is better than a short enigmatic name. A long descriptive name is better than a long descriptive comment.
Robert Martin
This article is part of the CodeSmell Series.