An Interest In:
Web News this Week
- April 27, 2024
- April 26, 2024
- April 25, 2024
- April 24, 2024
- April 23, 2024
- April 22, 2024
- April 21, 2024
Code Smell 128 - Non English Coding
Using your local language is a great idea because domain naming is easier. Not
TL;DR: Stick to English. Always.
Problems
Polymorphism
Cultural gaps
Mixed Code
Syntactic Errors
Solutions
Write in English
Rename Domain Concepts to English
Context
All programming languages are written in English.
Unless for a few failed experiments during the 90's all modern languages use English for their primitives and their frameworks.
if you wanted to read or write in medieval Europe, you had to acquire a new language at the same time. Writing meant Latin.
This is true for programming languages nowadays.
I am not a Native English speaker.
My code (tries to be) in English.
Sample Code
Wrong
const elements = new Set();elements.add(1);elements.add(1);elements.size() = 1 //This is the standard setvar moreElements = new MultiConjunto();//We defined a multiset in Spanish//because we are extending the domainmoreElements.agregar('hello');moreElements.agregar('hello');//'agregar' is the Spanish word for 'add'moreElements.size() = 2 //Since it is a multiset//elements and moreElements are NOT polymorphic//I cannot exchange their implementation
Right
const elements = new Set();elements.add(1);elements.add(1);elements.size() = 1 //This is the standard setvar moreElements = new MultiSet();//We defined a multiset in EnglishmoreElements.add('hello');moreElements.add('hello');moreElements.size() = 2 //Since it is a multiset//elements and moreElements are polymorphic//I can exchange their implementation anytime
Detection
[X] Automatic
Most IDEs and linters have a thesaurus.
We can search for foreign words.
Tags
- Readability
Conclusion
Don't mix Non-English domain words with English primitives.
Even when Mapping your real-world entities, use plain English.
More Info
Credits
Photo by Anna Vander Stel on Unsplash
A programming language is a tool that has a profound influence on our thinking habits.
Edsger Dijkstra
Software Engineering Great Quotes
Maxi Contieri Dec 28 '20 13 min read
This article is part of the CodeSmell Series.
Original Link: https://dev.to/mcsee/-code-smell-128-non-english-coding-48d8
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To