Предложения и замечания

отредактировано 01:23 Раздел: FastScript
Здравствуйте уважаемые.

По ходу работы с FS у меня появились некоторые пожелания, которыми и хочу поделиться:

1. В методы AddClass и AddObject класса TfsScript добавить параметры ClassName,
что позволит регистрировать различные классы, унаследованные от одного класса Delphi. Мне, например, это необходимо что-бы создавать иерархию классов по их описанию в БД.

2. Методы AddClass, AddType, AddConst в начале содержат следующую строку:
if Find(Name) <> nil then Exit;
Мне кажется, что лучше было бы в этом случае возвращать ошибку типа - "Identifier redeclared", и в любом случае вызов Find заменить на FindLocal, что позволит перекрывать объявления сделанные в Parent.

Методы AddEnum, AddEnumSet, AddMethod и вложенные вызовы в AddEnum и AddEnumSet (добавление элементов перечисления) такие проверки не выполняют вовсе, как результат: можно добавить уже существующие идентификаторы, которые никогда не будут доступны.

Тоже касается метода Add который вообще позволяет добавить все что угодно т.к. - Add(Item: TObject). Хотя предполагается, что это TfsCustomVariable.
Мне кажется более правильный вариант - вынести хранение временных переменных, создаваемых парсером, в отдельный список, а в метод Add ввести проверку на уникальность идентификатора.

3. Возможно есть смысл методы GetMembers и GetMemberCount класса TfsClassVariable сделать виртуальными.

Спасибо за внимание.

Комментарии

  • отредактировано 01:23
    Содержательный ответ
  • отредактировано 01:23
    Это потому, что ответить-то особо нечего. По пунктам:

    1) смысл непонятен
    2) можно, конечно, и эксепшн, но особого смысла опять же нету. Насчет FindLocal - классы и типы ищутся только в глобальном fsGlobalUnit, поэтому "не катит".
    3) можно, но опять же, зачем...

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.