Comment by jayd16
5 hours ago
> That would make “ProductIndex” superior to “i”, which doesn't add any clarity.
Adds a ton of clarity, especially if you have a nested loop.
5 hours ago
> That would make “ProductIndex” superior to “i”, which doesn't add any clarity.
Adds a ton of clarity, especially if you have a nested loop.
and god help you if those loops are pairing People and Products.
though now that I write that out... it would be really nice if you could optionally type iteration vars so they couldn't be used on other collections / as plain integers. I haven't seen any languages that do that though, aside from it being difficult to do by accident in proof-oriented languages.
You usually don't need an index that can't be used elsewhere. If you don't then you can abstract it away entirely and use an iterator or foreach features.
Depends on the language. Doing that is a huge pain in Go (until fairly recently, and it's still quite abnormal or closure-heavy), so the vast majority of code there does manual index-pairing instead of e.g. a zip iterator when going through two paired arrays.