![]() |
|
|
![]()
|
|
| Hohhi |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 25.2.2006 Где: Молдова Репутация: нет Всего: нет |
Привет всем! Пусть имеется ООП класс, разделенный на единицы: методы, параметры, тела методов, свойства и т.д. Подскажите, какой алгоритм на Ваш взгляд является самым эффективным в данном случае? Даже более интересует полнота находимой дублированности, в том числе семантической.
Это сообщение отредактировал(а) Hohhi - 31.1.2011, 21:21 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
алгоритм чего? разделения кода на семантические единицы? тут все должно начинаться с анализа, очень рекомендуется именно объектно-ориентированный. Затем идет проектирование(тоже объектно-ориентированное). в итоге, к моменту написанию кода(объектно-ориентированному программированию) ты уже знаешь, какие модули(классы и иерархии классов) тебе нужны. все что остается, при помощи собственных велосипедов или общепринятых методик — т.н. шаблонов(patterns) программирования оптимизировать эти самые модули(к примеру, используя паттерн Прокси для откладывания ресурсоемких операций или Стратегия, для вынесения схожей алгоритмической части из несвязанных классов) Добавлено через 18 секунд впрочем, пожалуй, использование паттернов уместнее на этапе проектирования. |
|||
|
||||
| Hohhi |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 25.2.2006 Где: Молдова Репутация: нет Всего: нет |
skyboy, имелось в виду несколько другой вопрос, а именно на вики перечислены некоторые алгоритмы:
Хотелось бы узнать мнение о них, а также выслушать предложения о чем-то более приемлимом Добавлено через 7 минут и 58 секунд
Алгоритм поиска дублированного кода |
||||
|
|||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
А чем отличаются параметры от свойств? И что сравнивать в методах, если тела методов это единицы отдельные от самих методов? Это сообщение отредактировал(а) _Y_ - 31.1.2011, 23:36 -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| Hohhi |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 25.2.2006 Где: Молдова Репутация: нет Всего: нет |
Параметры метода, свойства класса |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
ты изучаешь вопрос с теоретической точки зрения? или с практической? пишешь собственный анализатор?
|
|||
|
||||
| Hohhi |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 25.2.2006 Где: Молдова Репутация: нет Всего: нет |
skyboy, я хочу написать анализатор над .NET кодом. Пока что я создаю гибкую систему динамического подключения сборок с так называемыми "плохими запахами" кода. Этот запах представляется мне трудно локализовать
|
|||
|
||||
| _Y_ |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
При этом задача стоит: Зачем сравнивать списки параметров?
Впрочем, есть один случай. Это если параметр имеет то же имя, что и свойство. Тогда параметр делет это имя локальным для данного метода. Многие языки это позволяют. Из чисто детского любопытства - зачем еще это может быть надо? -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
||||
|
|||||
| Hohhi |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 25.2.2006 Где: Молдова Репутация: нет Всего: нет |
_Y_, Функционал перечисленный можно выдернуть "AS IS" из DTE Visual Studio. Меня при создании темы интересовали именно алгоритмы поиска дублированного кода: все равно в чем: псевдокод, другие структуры данных, интересует, как это оптимальнее организовать
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |