Abbreviating is very important so that we look smart and save memory and mind space.
TL;DR: Don't Abbreviate your objects
-
Coupling
-
Bad Naming
-
Declarativeness
-
Ambiguity
-
Readability
-
Premature Optimization
Code Smell 20 - Premature Optimization
- Use meaningful/declarative names.
-
Variable naming
-
Function naming
-
Package naming
-
Class Naming
package main
import "fmt"
type YVC struct {
id int
}
func main() {
fmt.Println("Hello, World")
}
package main
import "formatter"
type YoutTubeVideoContent struct {
imdbMovieIdentifier int
}
function main() {
formatter.Printline("Hello, World")
}
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.
- Declarative
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.
Code Smell 06 - Too Clever Programmer
Code Smell 153 - Too Long Names
What exactly is a name - Part I The Quest
What exactly is a name - Part II Rehab
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
Software Engineering Great Quotes
This article is part of the CodeSmell Series.