Code Smell 33 - Abbreviations

Code Smell 33 - Abbreviations

Abbreviating is very important so that we look smart and save memory and mind space.


  • Coupling

  • Bad Naming

  • Declarativeness

  • Ambiguity

  • Readability

  • Premature Optimization


  1. Use meaningful/declarative names.


  • Variable naming

  • Function naming

  • Package naming

  • Class Naming

Sample Code


package main

import "fmt"

func main() {
    fmt.Println("Hello, World")


package main

import "formatter"

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.


More info


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.