1. Java / Говнокод #7150

    +147

    1. 1
    2. 2
    3. 3
    while (cell.getFlag() != null) {
          this.flag(x, y);
        }

    из моего древнего "Сапёра".
    заменяется на

    cell.setFlag(null);

    Запостил: Lure Of Chaos, 05 Июля 2011

    Комментарии (10) RSS

    • эм... Что?
      Ответить
      • ну, логика такая: заменять флаг на ячейке, пока есть какой-то флаг.
        Ответить
        • а flag(int,int) чего делает?
          Мне кажется, или проект имеет странноватую архитектуру?)))
          Ответить
          • flag(int x,int y) в позиции (x,y) меняет метку циклично: нет метки, вопрос, флаг.
            а чем странноватую?
            Ответить
            • Существует объект cell, который имеет метод getFlag() - соответственно клетка имеет какое-то состояние (другими словами флаг).
              И тут же идет обращение к this.flag(/*координаты*/); //причем даже не setFlag(int,int);
              То есть, по логике, this - это поле с клеточками ^_^

              Я ,конечно, понимаю, что когда-то метод flag(int,int) установит флаг клетки в null, это хоть и извращение, но, допустим, оно имеет место быть. Тогда под вопросом архитектура описанных классов.

              Вообще мне было бы очень интересно посмотреть код всего проекта, если вы будете так любезны выложите его где-нибудь, буду очень признателен!
              Ответить
              • А еще нам не видно части кода, которая отвечает за выбор конкретной клетки и помещении ссылки на нее в cell. Если это функция по типу

                public void четотам(int x, int y){
                Cell cell = cells[x][y];//я конечно утрирую и надеюсь, что это не так
                while(cell.getFlag() != null) this.flag(x,y);
                }

                То здесь можно было бы обойтись и без класса Cell. Хоть у клетки и есть какое-то состояние и поведение, то ваша реализация класса поля лишь запутывает код)))
                Ответить
              • всё уже есть в svn: http://xp-dev.com/svn/sexbomb/
                для работоспособности нужен также http://xp-dev.com/svn/gargoyle-util/
                Ответить
    • Фигня какая-то.
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий