DEV Community

Cover image for Code Smell 277 - UPPERCASE Acronyms
Maxi Contieri
Maxi Contieri

Posted on • Originally published at maximilianocontieri.com

Code Smell 277 - UPPERCASE Acronyms

Avoid Jumbled Acronyms for Clarity

TL;DR: Treat acronyms like normal words to improve human readability.

Problems

  • Reduced readability
  • Breaking naming style
  • Words confusion
  • Harder to pronounce

Solutions

  1. Treat acronyms as Capitalized words
  2. Use camelCase or snake_case

Context

Acronyms in uppercase (like JSON, XML, REST) in camel case break the natural reading flow.

You may think sendJSONRequest is a clear name, but it makes your code harder to read, especially when you string multiple acronyms together.

Treating acronyms like normal words in camelCase (sendJsonRequest) keeps your code more readable and easier to understand.

Sample Code

Wrong

class NetworkConnector {
    func validateXMLFile() { /*...*/ }
    func sendJSONRequest() { /*...*/ }
    func parseURLResponse() { /*...*/ }
    func setRESTAPIURL() { /*...*/ }
    func retrieveHTTPStatusCode() { /*...*/ }
    func updateDBConnection() { /*...*/ }
    func configureSSLCertificate() { /*...*/ }
    func setHTMLTemplate() { /*...*/ }
    func generateUUID() { /*...*/ }
    func connectViaFTP() { /*...*/ }
}
Enter fullscreen mode Exit fullscreen mode

Right

class NetworkConnector {
    func validateXmlFile() { /*...*/ }
    func sendJsonRequest() { /*...*/ }
    func parseUrlResponse() { /*...*/ }
    func setRestApiUrl() { /*...*/ }
    func retrieveHttpStatusCode() { /*...*/ }
    func updateDbConnection() { /*...*/ }
    func configureSslCertificate() { /*...*/ }
    func setHtmlTemplate() { /*...*/ }
    func generateUuid() { /*...*/ }
    func connectViaFtp() { /*...*/ }
}
Enter fullscreen mode Exit fullscreen mode

Detection

[X] Semi-Automatic

It would help if you had a smart thesaurus.

To detect this smell, look for methods or variable names with uppercase acronyms that disrupt readability.

Code reviewers or linters can also flag camelCase inconsistencies.

Tags

  • Code Standards

Level

[X] Beginner

AI Generation

Modern AI code generators may produce inconsistent acronym casing.

Always review and adjust their output to match your conventions.

AI Detection

With prompts, AI can fix these naming issues and suggest improvements based on camelCase style.

Try Them!

Remember: AI Assistants make lots of mistakes

Without Proper Instructions With Specific Instructions
ChatGPT ChatGPT
Claude Claude
Perplexity Perplexity
Copilot Copilot
Gemini Gemini

Conclusion

Naming conventions are key to readable code.

Treat acronyms like normal words, and avoid uppercase blocks to keep your code easy to understand.

Relations

More Info

Original Post

Disclaimer

Code Smells are my opinion.

Credits

Photo by Csabi Elter on Unsplash

Thank you @daniel Moka for this tip.


Simple can be harder than complex

Steve Jobs


This article is part of the CodeSmell Series.

Top comments (4)

Collapse
 
yoursunny profile image
Junxiao Shi

I'm torn on short names such as "ID".
Should I write .getRecordId() or .getRecordID()?

Collapse
 
mcsee profile image
Maxi Contieri

sounds accurate!

Collapse
 
moopet profile image
Ben Sinclair

Don't you mean ChatGpt? :P

Collapse
 
mcsee profile image
Maxi Contieri • Edited

Nice catch! IT is a template and I've been making the mistake myself!