Glenford Myers in "The Art of Software Testing" said: "Testing is the process of executing a program with the intent of finding errors."
The preface to this is even more enlightening:
"When you test a program, you want to add some value to it. Adding value through testing means raising the quality or reliability of the program. Raising the reliability of the program means finding and removing errors.
Therefore, don’t test a program to show that it works; rather, you should start with the assumption that the program contains errors (a valid assumption for almost any program) and then test the program to find as many of the errors as possible."
> you've got bigger problems than needing a better review system
I'll set aside the fallacious premise that everybody can stack their team with 10x engineers. Some of us actually work with interns and juniors.
That being said, your comment doesn't invalidate the need for a better review system. Software quality isn't defined by any one tool or process; the product is the end result of a chain of tools and processes...
There's a great rule of thumb coined by Andrew Gerrand: "The greater the distance between a name's declaration and its uses, the longer the name should be." [1]
There's no reason to use any more than a single character for a loop variable. Who cares how old the convention is?
I turned down an offer to work in a living time capsule.
The company was decades old and hadn't changed tooling or technology for most of that time. The senior developers were actively fighting the adoption of modern FOSS tooling. Several were still using CRT monitors.
No amount of money would have made that position look attractive.
The preface to this is even more enlightening:
"When you test a program, you want to add some value to it. Adding value through testing means raising the quality or reliability of the program. Raising the reliability of the program means finding and removing errors.
Therefore, don’t test a program to show that it works; rather, you should start with the assumption that the program contains errors (a valid assumption for almost any program) and then test the program to find as many of the errors as possible."