Если Вы действительно даете пользователю вопрос, не делайте его вопросом "да"/"нет". Не торопитесь, чтобы сделать новую форму и поместить глаголы как выбор как в Mac
, Например:
Would you like to save?
Yes No
Должен Быть:
Would you like to save?
Save Don't Save
существует более подробное объяснение здесь.
Интересный вопрос. Я знаю, что мне подходит, и мне интересно посмотреть, что используют другие.
Я решил применить более научный подход к определению наиболее часто используемых команд рефакторинга. Eclipse имеет встроенную функцию Сборщика данных об использовании (UDC) . Данные общедоступны . Я взял данные и извлек следующий график, на котором показаны наиболее часто используемые команды редактирования (без команд навигации).
alt text http://img.skitch.com/20091207-bmcng36rjy837sqmcx58b85age.gif
Тем не менее, я Твердо верю в «Сохранить действия» для форматирования и организации импорта (прочтите мою статью об этом ), поэтому я бы не стал их считать. Я бы также удалил комментирующие действия. Картинка выглядит так: alt text http: // img. skitch.com/20091207-ieas1mk5114fwitucqkqxyw6t.gif[1272 impression
CTRL + 1 в разделе с красной линией, то есть быстрое исправление.
Мои избранные (в порядке использования):
Alt-Shift-R
или Ctrl-1
для более быстрого ввода переименование файла) Ctrl-1
, Alt-Shift-L
) Alt-Shift-M
) Ctrl-1
) Alt-Shift-C
) Были указаны наиболее популярные рефакторинги, и я полностью с ними согласен.
Средство форматирования кода ( Источник , Формат или Ctrl Shift F ) - одна из часто используемых мной функций IDE. Да, это не рефакторинг, но он улучшает читаемость кода при сохранении вашего стиля кодирования: просто перейдите в Настройки , Java , Code Style , Formatter и сообщите Eclipse, как вы хотите, чтобы ваш код выглядел!
Генерация методов получения и установки - это тоже функция, которую я считаю, чтобы сэкономить время при написании Java beans.
Переименовать - потому что давать вещам осмысленные имена - лучший способ написать самодокументированный код. Shift + Alt + R
Извлечь метод - когда метод становится слишком длинным. Shift + Alt + M
Извлечь константу - потому что магические числа плохие. Shift + Alt + T (меню рефакторинга, прямого ярлыка нет).
Встроить / ввести переменную - убрать беспорядок из методов. Shift + Alt + I (встроенный), Shift + Alt + L (представить)
Мои избранные:
Мои любимые:
1) Переименовать - работает с именами методов, именами переменных, именами классов, полями - на самом деле все, что имеет имя.
2) Преобразование анонимного класса во вложенный - помогает при отладке, позволяет повторно использовать логику (например, компаратор), которую вы только думали, что будете использовать в одном месте.
3) Преобразование типа члена в верхний уровень. Часто после преобразования анонимного класса во вложенный класс я обнаруживаю, что этот класс может быть полезен в другом месте. Тогда этот рефакторинг идеален.
Чаще всего я использую переименование, извлечение метода и изменение подписи метода в указанном порядке.
Мне нравится метод извлечения ( Alt + Shift + M ), а с 3.6M1 , теперь он обрабатывает выборки, содержащие операторы continue.
Чтобы сохранить семантику существующего кода, выборка должна включать последний оператор цикла. В извлеченном методе операторы continue заменены на return:
Для выбора, который требует нескольких возвращаемых значений в извлеченном методе, Eclipse теперь перечисляет конфликтующие переменные в сообщении об ошибке:
В Eclipse, пожалуй, меньше всего рефакторингов для всех популярных IDE. Вы можете рассмотреть Netbeans или IntelliJ (версия сообщества бесплатна). И наоборот, у Eclipse, возможно, лучший отладчик. ;)
Я использую рефакторинг при написании кода (который, как я обнаружил, ускоряет написание примерно на 15%), поэтому способность IntelliJ рефакторировать код, который не компилируется, очень полезен для меня. Другие IDE могут поддерживать это сейчас (кто-нибудь знает?) Я считаю, что интеллектуальное завершение IntelliJ также немного умнее.
Я тестировал повторный ввод файлов из распечатки (изначально написанной на eclipse) и обнаружил, что использовал на 30% меньше клавиш и на 50% меньше движений мыши при вводе файла с помощью IntelliJ (по сравнению с Eclipse) Я бы оценил Netbeans где-то посередине.
Также стоит прочитать это исследование: Как API развивается? История рефакторинга. Д. Диг и Р. Джонсон.
Авторы заметили, что 80% изменений были рефакторингом, и классифицировали их. Вот аннотация:
Фреймворки и библиотеки меняют свое API. Перенос приложения в новый API утомителен и нарушает процесс развития. Хотя некоторые инструменты и идеи были предложены решить эволюцию API, большинство обновления делаются вручную. Улучшить понимать требования к инструменты миграции, мы изучили API изменения четырех фреймворков и одного библиотека. Мы обнаружили, что изменения, которые ломают существующие приложения не случайны, а имеют тенденцию попасть в определенные категории. Более 80% этих изменений рефакторинги. Это говорит о том, что инструменты миграции на основе рефакторинга следует использовать для обновления приложений.