![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Мурлыкатам_ |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 5.2.2007 Где: город-герой Минск Репутация: нет Всего: 2 |
Задача : с помощью Метода Холстеда проанализировать исходный файл с# и сделать вывод о сложности программы.
Проблема: как посчитать количество стандартных операторов и пользовательских (тоже и для операндов). Как сделать анализ текста? У меня пока получается следующее: 1. Первый метод считывает файл в строковый массив. 2. Второй метод считает в массиве все комментарии и вытирает их. 3. Третий метод считает все пустые строки и вытирает их. 4. Четвертый метод считывает базу зарезервированных слов с# (92 слова, учитывая знаки операций). 5. Пятый в цикле делает примерно следующее:
В этом случае конечно очевидно, что метод далек от совершенства... Но возникает вопрос, как заменить операцию
Может кто-то сталкивался с метриками холстеда и подскажет какой-нить алгоритм анализа текста... Помогите плз, чем можете.. А еще вопросец:
Подскажите как вместо этого пути привязаться к папке в которой лежит экзешник? А то после опенФайлДиалога у мя почему-то явление привязки к папки с экзешником передвигается в ту папку из которой диалогом открывали файл... |
||||||||
|
|||||||||
zaver |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 15.8.2005 Репутация: нет Всего: 3 |
стоило тему назвать не "метод Холстеда", а "как найти кол-во вхождений слова в строку".
![]() вместо
вставить
|
||||
|
|||||
peaceduke |
|
||||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 2.4.2007 Репутация: нет Всего: 2 |
|
||||
|
|||||
Мурлыкатам_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 5.2.2007 Где: город-герой Минск Репутация: нет Всего: 2 |
Спасибо братцы!!! Когда наберу 100 постов ))) понажимаю вам +++++ в репутации )))
Пока я не увидел этот урывок кода, я даже не предпологал как я узко мыслю... За то, что открыли глаза - отдельное спасибо! ![]() |
|||
|
||||
Мурлыкатам_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 5.2.2007 Где: город-герой Минск Репутация: нет Всего: 2 |
Возникли еще вопросы по анализу строк:
1. Как узнать сколько вхождений в строку составляют си шарп операторы (стандартные - генерируемые компилятором)? 2. Как проанализировать, что подопытная строка содержит операторы, созданные пользователем? ![]() С пользователем совсем трудно... стандартные то можно отловить по #region #endregion и по типовой структуре приложения Application.Run .. и т.д. По крайней мере есть от чего отталкнуться... А с пользовательскими че делать?? Если юзер щелкает в студии на "MouseEnter Event" и генерируется автоматически код события - это стандартное событие или пользовательское? |
|||
|
||||
zaver |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 15.8.2005 Репутация: нет Всего: 3 |
ясно что стандартное. пользователь же сам его не создавал. он создал только делегат. |
|||
|
||||
Мурлыкатам_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 5.2.2007 Где: город-герой Минск Репутация: нет Всего: 2 |
Вопрос остаётся актуальным:
1. Как узнать сколько вхождений в строку составляют си шарп операторы (стандартные - генерируемые компилятором)? По какому принципу их считать? private + тип + "(" + ";" ? И чтобы были после конструктора формы? Как тогда выбрать конечную точку подсчета? 2. Как проанализировать, что подопытная строка содержит операторы, созданные пользователем? модификатор доступа + тип + "(" + ";" ? ... блин я даже не знаю как их считать ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |