Показать сообщение отдельно
Старый 10.10.2013, 23:16
am_devcorp вне форума Посмотреть профиль Отправить личное сообщение для am_devcorp Найти все сообщения от am_devcorp
  № 1  
Ответить с цитированием
am_devcorp
 
Аватар для am_devcorp

Регистрация: Jan 2012
Адрес: (0;0;0) относительно меня
Сообщений: 82
Отправить сообщение для am_devcorp с помощью Skype™
По умолчанию Общий вопрос про повторные определения

Вот допустим, есть у нас код.
Код AS3:
switch (dir) {
                case TOP:
                    var i:int = 0
                    for (var j:int = 0; j < pics[0].length; j++) {
                        что-то делаем с pics[i][j]
                    }
                    break;
 
                case RIGHT:
                    var j:int = pics[0].length - 1
                    for (var i:int = 0; i < pics.length; i++) {
                        что-то делаем с pics[i][j]
                    }
 
                    break;
                case BOT:
                    var i:int = pics.length - 1
                    for (var j:int = 0; j < pics[0].length; j++) {
                        что-то делаем с pics[i][j]
                    }
                    break;
                case LEFT:
                    var j:int = 0
                    for (var i:int = 0; i < pics.length; i++) {
                        что-то делаем с pics[i][j]
                    }
                    break;
                default:
            }
т.е. мы в зависимости от dir по разному проходим по матрице.
Вообще подробности не важны, может мы несколько раз по разному проходимся по матрице, не суть, главное, что подряд идут несколько похожих по смыслу циклов с i и опционально j. В таком случае компилятор сыпет в консоль ворнинги duplicate variable definition. Но щит, Шерлок, это я и сам вижу, но как лучше от них избавляться?

Вариант 1) Забить, но это несолидно, когда проект собирается не молча.
Вариант 2) В начале объявить эти злосчастные i и j и убрать объявления. Но может это мои тараканы мне это тоже не нравится, ибо это вроде как повторное использование переменной в другом месте, что не есть хорошо.

Есть ли какие-нибудь еще кроме (2) практики исправления таких ситуаций?
__________________
cats are supreme beings