On 1/28/06, art yerkes ayerkes@speakeasy.net wrote:
Nobody's saying 'oh noes ... we must toss all code with gotos'. These are metrics for functions that we must consider as needing more than cursory examination. I was trying to set some boundaries for clearly in and clearly out that can be measured in a somewhat objective way.
I'm not a developer on the ReactOS project, so I only see what's on the mailing list. My comments were based on Steven's original statement:
"A function is deemed to have been implemented in a non-clean manner if..."
which led me to believe that any functions matching the conditions that followed would be deemed non-clean and removed. I don't have a problem with the removal of non-clean code, but seeing as how this is a draft and still up for debate, I threw in my opinion about two cases that weren't clear enough.
To me, using more than two or three goto targets per function is excessive. Goto targets for cleanup and generic error handling are pretty common in C code, but I believe that code which uses more than a handful of gotos should at least be examined in detail.
Then we are in agreement.
-- James Hawkins