This content originally appeared on HackerNoon and was authored by Maximiliano Contieri
When your code loses its way
TL;DR: Missing return statements cause unexpected behavior.
Problems 😔
- Silent failures
- Unreliable results
- Hard debugging
- Inconsistent and misleading behavior
- Broken logic
Solutions 😃
- Always return values
- Use clear flow
- Validate conditions
- Test all return paths
- Use early returns
- Remove IFs
Refactorings ⚙️
https://hackernoon.com/refactoring-014-how-to-remove-if?embedable=true
Context 💬
When you forget to return a value, your function keeps executing and your app might show incomplete or wrong information.
Sample Code 📖
Wrong ❌
fun totalDistance(activity: Activity): Double {
if (activity.type == "Running") {
activity.calculateDistance()
// Missing return here
} else {
return 0.0
}
// Other options are omitted for simplicity
// Some languages raise a runtime error
// If the function does not return a value
// of the correct type (in this case a Double)
}
Right 👉
fun totalDistance(activity: Activity): Double {
if (activity.type == "Running") {
return activity.calculateDistance()
// Now it returns the value
} else {
return 0.0
}
}
Detection 🔍
- [x] Automatic
You can detect this smell when your function lacks a return statement in certain branches.
\ Most static analyzers and linters often catch this.
Tags 🏷️
- IFs
Level 🔋
- [x] Beginner
Why the Bijection Is Important 🗺️
it's important to maintain a clear and predictable relationship between your code and the Real World.
\ If a function is intended to calculate and return a value, it should always do so.
\ \ Failing to return a value breaks the MAPPER, leading to inaccurate behavior and unreliable results.
AI Generation 🤖
AI tools usually don't generate this smell.
AI Detection 🥃
Most AI-powered linters quickly catch missing returns with static analysis or by examining your code's Abstract Syntax Tree.
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 | | DeepSeek | DeepSeek | | Meta AI | Meta AI |
Conclusion 🏁
A missing return statement breaks your code’s flow and produces unreliable results.
Always ensure every branch in your function returns something meaningful.
Relations 👩❤️💋👨
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xv
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxi
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxiii
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxiv
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxxviii
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-viii-8mn3352
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxxii
Disclaimer 📘
Code Smells are my opinion.
Credits 🙏
Photo by Tim Johnson on Unsplash
A bug is never just a mistake. It represents something bigger.
Sergey Zefirov
https://hackernoon.com/400-thought-provoking-software-engineering-quotes?embedable=true
This article is part of the CodeSmell Series.
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-i-xqz3evd?embedable=true
\
This content originally appeared on HackerNoon and was authored by Maximiliano Contieri

Maximiliano Contieri | Sciencx (2025-02-27T02:24:27+00:00) Code Smell 292 – Missing Return. Retrieved from https://www.scien.cx/2025/02/27/code-smell-292-missing-return/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.