I gave up long ago on trying to remember function parameter lists, except for the more simple ones, let gets() :-)
Trying to bring order out of chaos should be the goal of every programmer, IMHO, even if the mad professors seem to be running things. But I think some of us just don't care.
I've have often been called in and asked to clean up, or otherwise interpret a mess another programmer left behind. Usually it is management's fault too, as they rush to push stuff out the door. Their motto seems to be, "There's never time to do it right. But there's always time to do it over."
Personally, I refuse to look at code anymore, unless it is clearly documented and the author knows basic English. The samples that begin with, "Just look at my code, you'll figure it out!" go in the circular file immediately. I don't have time to "figure it out." If I did, I'd just write it myself :-)