| ▲ | vilos1611 2 hours ago | |||||||
I respectfully disagree. The issue isn't the names themselves, it's the locality of information. In a 3-deep nested loop, i, j, k forces the reader to maintain a mental stack trace of the entire block. If I have to scroll up to the for clause to remember which dimension k refers to, the abstraction has failed. Meaningful names like row, col, cell transform structural boilerplate into self-documenting logic. ijk may be standard in math-heavy code, but in most production code bases, optimizing for a 'low-context' reader is not an anti-pattern. | ||||||||
| ▲ | jonahx 2 hours ago | parent [-] | |||||||
If the loop is so big it's scrollable, sure use row, col, etc. That was my "vast majority" qualifier. For most short or medium sized loops, though, renaming "i" to something "meaningful" can harm readability. And I don't buy the defensive programming argument that you should do it anyway because the loop "might grow bigger someday". If it does, you can consider updating the names then. It's not hard -- they're hyper local variables. | ||||||||
| ||||||||