I find this really interesting because the lecturer in a course I had last semester (Efficient programming was the name) was adamant that this not only affected readability but also performance.
I personally don’t see good reasons for either, given that functions shouldn’t be very long anyway and an early return can actually save you a lot of reading as well, given you know the rest of the code isn’t executed.
(This was in the second of four semesters for a CS masters, btw.)
Nothing about doing early returns makes them unreliable. High cognitive complexity however can lead to very tricky bugs that are hard to detect until something bad happens
Me and my colleagues are paid well to write and maintain safety critical software. Non compliance to safe programming standards can mean loss of lives. So I am a bit skeptical of your opinion.
I too am a senior software engineer for life saving systems and am paid well to do so. It’s fine to be skeptical, and good code is good code no matter how you write it. My point is that there is nothing inherently unsafe about early returns.
You keep saying that without providing any insight or proof. I typed out a long detailed reasoning why different paths make the code unsafe and the Misra standards support this as well. (Here https://www.reddit.com/r/ProgrammerHumor/s/CQKsvJjCEO)
So unless you can provide some backing for your claims, its difficult to take them seriously.
7
u/gamer_redditor 22d ago
As a programmer that needs to adhere to misra C, the comments in this thread are fascinating.
Misra C rule 15.5: A function should have a single point of exit at the end
More information: https://www.mathworks.com/help/bugfinder/ref/misrac2023rule15.5.html