Quote:1) Бросается в глаза разный стиль именования переменных: mainX, mainY, raznica_ammo_enemy_Y. Нотация везде должна быть единой, даже если эта нотация - венгерская.
Единой и старался делать) в 3 переменной просто необходимо такое название, иначе не ясно разница между чем и чем. Ну а большая буква - координатная ось.
Quote:2) Конструктор класса Tower вынесен за его пределы - это ладно (хотя и не ясно, зачем), но почему он записан где-то в середине файла, а не сразу вслед за классом?
У меня все конструкторы вынесены ниже, рядом с методами. Почему в середине? Просто у меня еще 2 класса, группировал контруктор+метод+метод+... И по порядку, как объявлены классы, так и контструкторы\методы идут.
Quote:3) Да и что значат его переменные, почему они все однобуквенны? В строке Tower ( int x, int y, int h, int d, int t, int r) разобраться сможет только автор этого кода, и никто другой.
Исключительно для конструктора. Если заглянуть в сам конструктор там все предельно ясно
Quote:4) За названия вроде "raznica_ammo_enemy_Y"
Ну тут название объектов, а не английские слова)
Quote:"Zahvat_Target()"
А здесь не захотел писать Цель через транслит, вообще все слова где есть мягкий знак выглядят, как минимум, убого...
Quote:7) Скобки {} кое-где поплыли, а кое-где и отступы вместе с ними. Местами вообще получилась нечитабельная каша, как в функции Zahvat_Target().
Просто начал писать все это ооооочень давно. Везде почти поправил, тут пропустил, потому что не требовалось что либо менять в этой функции.
Осведомлен, поправлю))
Quote:2) Используется множество глобальных переменных - которые, как известно, не есть гут.
Их количество уже сокращено в 3 раза. Еще меньше пока не выходит)
Quote:3) Из-за конструкций вроде Form1->Canvas->Draw(610, 235, main)
Не понял что не так) КоординатаХ,КоординатаУ, картинка - вроде так все пишется.
Кстати она вообще сейчас не работает, нужно удалить)
Quote:4) В конструкторах лучше использовать списки инициализации, а не поочерёдное присваивание.
Ammo::Ammo (int x, int y, int n, int t) : xx(x), yy(y), number(n), target(t); // ?
Quote:5) Кстати, а где константы-то?
Одна есть и хватит)) А если серьезно - специально оставлял переменные - чтобы при надобности просто их менять, не правя при этом код.
Quote:6) Раздражают конструкции вида if (tower_group.empty()!=true) или reload+=1.
Со вторым полностью согласен, а вот с первым нет. Потому что код явно теряет свою очевидность, что тупо мешает читаемости. Я бы сказал что здесь овчинка выделки не стоит)
Quote:7) Приведение типов в стиле C, как в строке (TColor)RGB(200,0,0), не всегда безопасно
Если честно вообще не знаю что это все делает, просто нашел где то как цвет задать, и все.
Про динамик каст спс, почитаю.
Quote:Либо неиспользуемая переменная, либо просто ошибка.
Мой затупень. Надеюсь это просто неиспользуемая переменная)
Quote:9) Ввело в ступор содержимое функции Button2Click(). Надеюсь, что это просто "заглушка" такая?
Нажали на кнопку - Вошли в режим строительства - каждый клик строит башню.
Нажали повторно, вышли из режима, можем кликать до посинения, ничего не произойдет
Quote:3) Почему не стоит обходить вектор через int-переменную, скромно умолчу.
Мозгу нуба намного сподручнее пользоваться интами, чем абстрактными итераторами)
Кстати уже заюзал в одном месте, но все равно тяжко обрабатывать мозгу, как это работает, хоть и понятно достаточно.
Quote:6) В любом классе желательно наличие конструктора по умолчанию (без параметров), дабы его объекты можно было использовать внутри массивов и STL-контейнеров. У тебя же далеко не везде так.
Почему? 3 класса = 3 конструктора.
подпись была удалена администрацией
просьба не использовать картинки с сайта heroeslibrary.net, так как на них ругается Chrome
(This post was last modified: 05.07.2012 08:08 by packa.)