1. Добавление фигурных скобок вокруг операторов уровня блока
Часто рекомендуется заключать операторы уровня блока в {фигурные скобки}. Но, тем не менее, если в блоке есть только одна инструкция, некоторые разработчики предпочитают не заключать их в {}. Но Checkstyle будет жаловаться, если вы сделаете это.
Если вы хотите изменить это,
1
2
|
if (condition) doSomething; |
к этому:
1
2
3
|
if (condition){ doSomething(); } |
Чистка источника Eclipse там для вашей помощи.
- В Project Explorer щелкните правой кнопкой мыши исходную папку и выберите « Источник» -> «Очистить».
- Выберите « Использовать пользовательский профиль» и нажмите « Настроить» рядом с разделом «Пользовательский профиль».
- По умолчанию действие очистки настроено на выполнение нескольких задач очистки. Поскольку мы сосредоточены только на добавлении фигурных скобок, мы отключим все другие задачи очистки. Для этого перейдите на все вкладки в окне « Пользовательские очистки» и отмените выбор всех очисток.
- Затем на вкладке « Стиль кода » выберите параметр « Использовать блоки в выражениях if / while / for / do» и нажмите « ОК».
- Затем в диалоговом окне « Очистить » нажмите « Далее», и рефакторинг произойдет. Вам будет представлена страница с обзором внесенных изменений.
2. Присоединение к операторам if в одно
Допустим, у вас есть такой код:
1
2
3
4
5
|
if (isLoggedIn){ if (isAdmin){ doSecretStuff(); } } |
Безопасно объединять два оператора if в один, если между двумя операторами if нет другого кода. Конечно, вы можете вручную отредактировать код, чтобы удалить второе условие if и переместить условие вверх. Но подождите, когда Eclipse может сделать это для нас, почему мы должны делать это сами?
- Поместите курсор на ключевое слово if внутреннего оператора if .
- Нажмите Ctrl + 1, чтобы открыть контекстное меню.
- Выберите опцию Соединить оператор «if» с внешним оператором «if» .
- Вуаля! два оператора if теперь объединены в одно.
Ты получишь:
1
2
3
|
if (isLoggedIn && isAdmin){ doSecretStuff(); } |
3. Переименование файла и его методов получения / установки
Согласно этому , переименование элемента является наиболее часто используемым рефакторингом в Eclipse. Поэтому, когда вы переименовываете поле, содержащее методы установки / получения, вы должны вручную переименовывать эти имена методов. Но Eclipse может помочь здесь упростить это.
- Наведите курсор на имя поля, которое вы хотите переименовать.
- Нажмите Ctrl + Shift и затем дважды нажмите клавишу R, чтобы открыть диалоговое окно « Переименовать поле» .
- Проверьте параметры «Переименовать получатель» и « Переименовать установщик» , указав новое имя для вашего поля.
- При нажатии OK это переименует поле, а также его методы получения / установки.
4. Инвертирующий оператор if
Предположим, у вас есть такой код:
1
2
3
4
5
|
if (!isLoggedIn){ // ask to login } else { // allow access } |
Выше код действителен на 100%. Но инструменты качества кода, такие как Checkstyle, могут жаловаться, потому что мы используем проверку негатива в первом условии (то есть ! IsLoggedIn ). Когда у вас есть только один случай (только блок if), тогда мы ничего не можем с этим поделать. Но когда у вас есть и то и другое , тогда вы можете просто инвертировать условия, чтобы избежать этого сценария.
- Поместите курсор на первое ключевое слово if .
- Нажмите Ctrl + 1 и затем выберите Инвертировать оператор «if» .
- Затмение будет инвертировать условия и соответствующие блоки.
- Наконец вы получите:
12345
if
(isLoggedIn){
// allow access
}
else
{
// ask to login
}
Помогает улучшить читаемость кода.
Вывод:
Конечно, все это только верхушка айсберга. Eclipse способен выполнять гораздо более продвинутый рефакторинг. Итак, каковы ваши секретные методы рефакторинга?
Ссылка: Eclipse рефакторинг на стероиды от нашего партнера JCG Веры Сундар в блоге