Рефакторинг дублирующего кода в методы

Я использую Resharper для рефакторинга. Чем называют этот тип функции, когда у Вас есть тот же код приблизительно в 5 различных называемых событиях, но Вы хотите заменить их вызовом метода? И место, которые кодируют в том методе.

Все сделанные автоматически.

Спасибо

6
задан Shawn Mclean 18 December 2009 в 20:36
поделиться

3 ответа

4
ответ дан 8 December 2019 в 12:20
поделиться

Я работал над плагином Resharper, который делает то, что вы просите. То есть он сканирует ваш код, ищет секции, которые можно заменить существующим вызовом метода. Раздел может быть как целым методом, так и просто частью метода. Когда он находит его, всплывает лампочка и предлагает заменить указанный раздел вызовом существующего метода.

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

Я вызываю его AgentRalph. На данный момент он не готов к продакшну, но я делаю большой прогресс и надеюсь, что в скором времени выйдет его релиз.

14
ответ дан 8 December 2019 в 12:20
поделиться

Если поле может быть определено как временная метка, можно использовать следующую команду:

 ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ОБ ОБНОВЛЕНИИ CURRENT_TIMESTAMP);
-121--3527913-

SubSonic 3,0 широко использует шаблоны T4 для создания кода объекта.

По существу он вызывает GetSchema () для подключения к базе данных и запускает каждую таблицу, найденную через шаблон сущности T4. Преимущество использования T4 здесь в том, что если вам не нравится путь, обрабатывающий схему базы данных, просто отредактируйте шаблон.

Я подправил T4 для обработки баз данных MySQL лучше для моей ситуации, так как я использую много tinyint столбцов, которые по умолчанию T4 сопоставляются с байтовыми типами. Быстрое изменение T4 дало мне тип, который я хотел вместо этого для моих объектов приложения.

-121--1461408-

См. C # CloneDR . Хотя он не заменяет избыточный код вызовами функций, он указывает, где они находятся в очень большой системе, и формирует необходимую абстракцию (тело процедуры и параметры). Веб-ссылка содержит примеры анализа клонов для эквивалента C # Hibernate (NHibernate).

1
ответ дан 8 December 2019 в 12:20
поделиться
Другие вопросы по тегам:

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