1) For normal old style small loops - i, j, k - If you need more than 3 level nested loops, this means that either the algorithm is very specific and complex, or you should consider refactoring the code.
Java Example:
for(int i = 0; i < ElementsList.size(); i++) {
Element element = ElementsList.get(i);
someProcessing(element);
....
}
2) For the new style java loops like for(Element element: ElementsList)
it is better to use normal meanigful name
Java Example:
for(Element element: ElementsList) {
someProcessing(element);
....
}
3) If it is possible with the language you use, convert the loop to use iterator
Java Iterator Example: click here