Code Smell - Low-Level Addition
Don't care how you do things. Care about what you do
TL;DR: Ditch the Loops: Write Cleaner Code with Declarative Style
Problems
- Verbose logic
- Repeated patterns
- Readability
- Maintainability
Solutions
- Remove loops
- Simplify logic
- Write declarative and high-level code
Context
When summing a collection, you might manually loop through the elements and add each one to a variable.
This approach works but adds unnecessary lines of code and makes it harder to follow.
Using language high-level functions, you can make your code shorter, clearer, and less error-prone.
It tells you exactly what the code is doing and not how it is doing it.
Sample Code
Wrong
transaction_values = [10.0, -5.21, 101.32, 1.11, -0.38] balance = 0 for transaction_value in transaction_values: balance += transaction_value
Right
transactions_values = [10.0, -5.21, 101.32, 1.11, -0.38] balance = sum(transactions_values)
Detection
[X] Semi-Automatic
You can detect this smell when you see explicit loops accumulating a result, especially in simple operations like summing values.
Tags
- Declarative
Level
[X] Beginner
AI Generation
AI generators can sometimes produce this smell by writing verbose loops instead of using functions like sum().
If you don't specify the need for cleaner, declarative solutions, they might opt for more lines of code.
AI Detection
AI systems can easily detect and simplify this smell when you ask them to reduce code complexity with simple instructions to "optimize" or "simplify," most AI tools suggest using sum() in this case.
Try Them!
Remember AI Assistants make lots of mistakes
Without proper instructions
ChatGPT Claude Perplexity Gemini
With specific instructions
ChatGPT Claude Perplexity Gemini
Conclusion
Favoring declarative functions like sum() improves readability and reduces potential errors.
You reduce the need for manual loops and make it easier to maintain. It shows exactly what the code is doing with minimal syntax and clutter.
Relations

Code Smell 53 - Explicit Iteration
Maxi Contieri ・ Jan 5 '21

Code Smell 123 - Mixed 'What' and 'How'
Maxi Contieri ・ Mar 22 '22
Disclaimer
Code Smells are my opinion.
Credits
Photo by Kati Hoehl on Unsplash
The most important property of a program is whether it accomplishes the intention of its user.
C.A.R. Hoare

Software Engineering Great Quotes
Maxi Contieri ・ Dec 28 '20
This article is part of the CodeSmell Series.

How to Find the Stinky parts of your Code
Maxi Contieri ・ May 21 '21
The above is the detailed content of Code Smell - Low-Level Addition. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics





Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

How to avoid being detected when using FiddlerEverywhere for man-in-the-middle readings When you use FiddlerEverywhere...

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

How does Uvicorn continuously listen for HTTP requests? Uvicorn is a lightweight web server based on ASGI. One of its core functions is to listen for HTTP requests and proceed...

Using python in Linux terminal...

In Python, how to dynamically create an object through a string and call its methods? This is a common programming requirement, especially if it needs to be configured or run...

Understanding the anti-crawling strategy of Investing.com Many people often try to crawl news data from Investing.com (https://cn.investing.com/news/latest-news)...
