Точно доступ ограничения VB6

Я видел, что вы получили свой ответ ... здесь - это другой подход к тому, что он стоит ... как обсуждалось в комментариях ...

checkSearchVal() {
    this.USERS = masterUSERS.slice();
    let filteredUsers: User[] = [];
    if (this.searchVal && this.searchVal != '') {

    /* NORMAL FOR
      for(var i=0; i {
        if (selectedUser.firstName.toLowerCase().search(this.searchVal.toLowerCase()) != -1 ||
          selectedUser.lastName.toLowerCase().search(this.searchVal.toLowerCase()) != -1) {
          filteredUsers.push(selectedUser);
        }
      })
    */

    /*  FOR OF */
    for (let selectedUser of this.USERS) {
        if (selectedUser.firstName.toLowerCase().search(this.searchVal.toLowerCase()) != -1 ||
          selectedUser.lastName.toLowerCase().search(this.searchVal.toLowerCase()) != -1) {
          filteredUsers.push(selectedUser);
        }
    }

      this.USERS = filteredUsers.slice();
    }
  }

обновление : перемещено this.USERS = FilterUsers.slice (); внутри обновления IF

: 2 : тот же код с forEach и For-Of (чтобы избавиться от ошибки TSLint)

14
задан 4 September 2013 в 15:37
поделиться

5 ответов

ОК. Средство просмотра метрик проекта, которое является частью инструмента Project Analyzer от Aivosto, будет делать именно то, что вы хотите. Я включил скриншот, а также ссылку на список метрик, который включает в себя количество переменных и т. Д.

Список метрик

alt text
(источник: aivosto.com )

2
ответ дан 1 December 2019 в 16:49
поделиться

CodeSmart от AxTools очень хорош.
alt text
(источник: axtools.com )

1
ответ дан 1 December 2019 в 16:49
поделиться

Похоже, что DevPartner от Compuware провел такой анализ кода. Я не знаю, поддерживает ли текущая версия Visual Basic 6.0. (Но, по крайней мере, есть 14-дневная пробная версия)

-1
ответ дан 1 December 2019 в 16:49
поделиться

Вы можете получить это с помощью инструмента, извлекающего идентификаторы из кода VB6. Затем все, что вам нужно сделать, это отсортировать список, удалить дубликаты и измерить размер списка. У нас есть поисковая машина исходного кода , которая разбивает исходный код на языковые токены («лексы»), причем некоторые из этих токенов являются именно этими идентификаторами. Это будет содержать именно те данные, которые вам нужны.

Но, возможно, есть другой способ решить вашу проблему: выяснить, какие имена переменных встречаются редко, и заменить их набором стандартных имен (например, «temp»). Итак, что вам действительно нужно, так это подсчет количества имен каждой переменной, чтобы вы могли отсортировать «небольшое количество ссылок». Эту информацию могут предоставить те же данные лексера.

Тогда все, что вам нужно, - это инструмент для переименования редко встречающихся идентификаторов во что-то из стандартного набора. Мы предлагаем обфускаторы, заменяющие одно имя другим, которые, вероятно, могли бы это сделать.

[Обновление за октябрь 2014 г.]. Только что долго разговаривал с кем-то, у кого возникла эта проблема. Оказывается, есть довольно концептуальный ответ, на котором можно основать инструмент, и это называется раскраска регистров , которая выделяет фиксированное количество регистров произвольному количеству операндов. Это работает путем вычисления «интерференционного графа» по операндам; и двум операндам, которые не «мешают», можно назначить один и тот же регистр. Это можно было бы использовать для распределения 2 ^ 16 доступных имен переменных для произвольного числа идентификаторов, если граф интерференции недостаточно плох. Я предполагаю, что это не так. YMMV, и кому-то еще предстоит создать такой инструмент, вероятно, потребуется парсер VB6 и оборудование для вычисления такого графа. [Посмотрите мою биографию].

0
ответ дан 1 December 2019 в 16:49
поделиться

Чит - создать неиспользуемый класс с #### уникальными переменными в нем. Используйте Excel или что-то еще, чтобы сгенерировать алфавитные уникальные имена переменных. Удалите класс из проекта, когда вы достигнете предела, или закомментируйте блоки из 100 уникальных переменных ..

Я бы предпочел опираться на компилятор (который определяет , сколько переменных слишком много), чем в любом случае на каком-то стороннем инструменте.

(о, черт, извини, некро - даты не заметил)

0
ответ дан 1 December 2019 в 16:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: