Підтримка «чистоти» коду за допомогою eclipse v3

Ми обговоримо основні принципи очищення коду і дамо загальний огляд інструментів, які допомагають утримувати код в ідеальному порядку.

Управління конфігурацією параметрів очищення коду за допомогою профілів

Конкретна конфігурація параметрів очищення коду називається профілем. Профілі можна зберігати, що дозволяє передавати свої налаштування іншим людям, а також застосовувати до поточного коду настройки з попередніх проектів або настройки, отримані від інших розробників. Відповідно до прийнятих у вашій організації принципами кодування, вони можуть застосовуватися до кожного проекту Eclipse, тому у всіх команд, що беруть участь в розробці, буде однаковий стиль коду.

Параметри настройки Eclipse пропонують можливості управління профілями. Профілі можна створювати, редагувати і видаляти. Можна визначити профіль, який використовується глобально у всьому робочому просторі. Коли ми в перший раз відкриваємо параметри налаштування робочого простору і вибираємо Java> Code Style> Clean Up. то бачимо активний профіль Eclipse [built-in] (вбудований). Цей вбудований профіль попередньо налаштований і поставляється в комплекті з Eclipse. Всього є два вбудованих профілю: Eclipse і Save Participant. Вони описують дві мінімальні конфігурації очищення коду, які, по суті, видаляють непотрібний код. Налаштування вбудованого профілю можна побачити, зробивши його чинним профілем. Всі подробиці відображаються в області деталізації.

Малюнок 1. Детальна інформація по вбудованому профілем

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Існуючі профілі можна використовувати як свого роду шаблони, які можуть розширюватися або налаштовуватися. Тому виберемо в меню, що випадає існуючий профіль в якості діючого і натиснемо Edit. Вбудовані профілі не можна змінювати. Їх можна використовувати як основу для власного профілю або в незмінному вигляді застосовувати до свого коду.

Щоб створити власний профіль, натиснемо на New. Дамо профілем ім'я і виберемо з меню, що випадає існуючий профіль для ініціалізації. Знімемо галочку з Open the edit dialog now (відкрити діалог редагування зараз) і натиснемо OK.

Малюнок 2. Новий профіль

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Щоб профіль можна було використовувати спільно, використовуємо функцію експорту. Щоб відкрити профіль, натиснемо Edit. а потім Export. Дамо ім'я файлу профілю, натиснемо OK. і профіль готовий для спільного використання.

Малюнок 3. Експорт профілів

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Щоб застосувати зовнішній профіль з XML-файла до проекту, ми повинні спочатку його імпортувати. Натиснемо Import в основних параметрах очищення коду, виберемо файл і натиснемо OK.

Типи очищення коду

Далі ми обговоримо можливі настройки, їх переваги і недоліки. Оскільки багато настройки - це справа смаку, ми не будемо давати ніяких рекомендацій. Зверніть увагу, що якщо ви не вибираєте будь-які опції, ваш код залишається таким, як ви його надрукували.

Вкладка Code Style (стиль коду)

Перша вкладка пов'язана зі стилями кодування і визначає, як повинні виглядати блоки, вирази і опису змінних.

Секція Control statements (керуючі оператори) Виберіть Use blocks in if. while. for. do statements (Використовувати блоки в операторах if, while, for і do), щоб визначити, де використовувати фігурні дужки. Фігурні дужки полегшують читаність коду, візуально об'єднуючи логічно пов'язані елементи. Використання фігурних дужок також допомагає уникнути помилок при додаванні нового оператора в умова оператора if або else. З іншого боку, занадто велика кількість фігурних дужок збільшує обсяг коду і робить його громіздким.

Малюнок 4. Стилі кодування

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Вкладка Member Accesses (Доступ до елементів)

Друга вкладка дозволяє задати, як слід звертатися до елементів (member) ваших типів.

Секція Non static accesses (нестатичних доступ) Виберіть, де ви хочете використовувати кваліфікатор this для звернення до полів або методів. Кваліфікатор this допомагає швидко побачити, які поля або методи є елементами класу, який ви в даний момент пишете. Це допоможе вам відрізняти поля і локальні змінні, що використовують однакові імена. Секція Static accesses (Статичний доступ) За допомогою прапорців задайте налаштування кваліфікації. Доступ до статичних елементів можна кваліфікувати через описує клас, щоб було легше визначити, в якому типі описаний даний елемент. З іншого боку, довгі імена класів можуть зробити громіздкими прості звернення до елементів і зробити їх на вигляд нечитабельним, або займають кілька рядків коду.

Малюнок 5. Доступ до елементів

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Вкладка Unnecessary code (Непотрібне код)

Третя вкладка дозволяє задавати настройки для видалення невикористаного або непотрібного коду.

Секція Unused code (Невикористаний код) Перший прапорець дозволяє видалити невикористовувані обсяги імпорту. Якщо ви не використовуєте Organize imports (організувати обсяги імпорту) або ключову комбінацію Strg + Shift + o. то автоматичне видалення невикористовуваних імпорту допоможе зберегти ваш проект максимально компактним і не містить невикористовуваних бібліотек.

Установка другого прапорця дозволяє видалити невикористовувані приватні елементи (private members). До приватним елементам можна звертатися тільки всередині містять їх класів. Якщо ж вони не використовуються, значить, вони і не потрібні. Вони лише створюють зайве навантаження на компілятор. Їх видалення може бути досить ефективним після реструктуризації програми і виявлення значних фрагментів невикористаного коду. З іншого боку, це може бути дуже небезпечним. Уявіть, що ви створюєте прототипи нових методів, які поки ще не використовуються, але можуть використовуватися в майбутньому. Якщо активувати опцію очищення невикористаного коду, вони будуть видалені, і зроблена робота буде втрачена. Секція Unnecessary code (Непотрібне код) За допомогою першого прапорця можна видалити непотрібні перетворення. Використання непотрібних перетворень може привести до додаткових витрат під час виконання, в залежності від вашого компілятора.

Другий прапорець дозволяє позбутися від непотрібних тегів $ NON-NLS $. Ці теги використовуються Eclipse лише для того, щоб визначити рядки, які не повинні піддаватися екстерналізації.

Малюнок 6. Непотрібний код

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Вкладка Missing Code (Пропущений код)

Четверта вкладка дозволяє додавати пропущений код.

Малюнок 7. Пропущений код

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Вкладка Code Organizing (Організація коду)

Остання по порядку, але не менш важливе, п'ята вкладка допомагає організувати код.

Секція Formatter (форматер) Скористайтеся їй, якщо в процесі очищення коду повинен використовуватися форматер. Перевірте параметри налаштування форматера: Preferences> Java> Code Style> Formatter. Секція Imports (імпорт) Скористайтеся їй, якщо потрібно використовувати опцію Organize Imports (Організовувати обсяги імпорту). Перевірте параметри налаштування опції Organize Imports: Preferences> Java> Code Style> Organize Imports. Секція Members (Елементи) Скористайтеся їй, якщо хочете впорядкувати елементи за алфавітом. Іноді для зручності орієнтування в програмному коді добре, коли елементи організовані в алфавітному порядку. У свою чергу, проти цього можуть бути свої аргументи. Уявіть, що ви так структуруєте код, що методи, які викликають один одного, знаходяться поруч один з одним для зручності орієнтування в коді. Алфавітна сортування реорганізує їх так, що вони будуть розташовуватися в незручному порядку. Оглядове уявлення пропонує дуже зручну функцію, що дозволяє сортувати уявлення елементів, не змінюючи їх порядок в коді. Конкретні настройки і опції сортування елементів можна знайти в Preferences (параметри)> Java> Appearance (зовнішнє подання)> Members Sort Order (порядок сортування елементів).

Малюнок 8. Організація коду

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Як застосовувати профілі

Малюнок 9. Відкриття майстра очищення коду

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

В результаті буде запущено майстер очищення коду, який ви бачите нижче.

Малюнок 10. Майстер очищення коду

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Майстер направляє вас в процесі очищення відповідних джерел. Опис в верхньому лівому кутку показує, скільки проектів і одиниць компіляції буде очищено. Зазвичай до одиниць компіляції застосовують вже сконфігурованих профіль. Проте, можлива індивідуальна настройка очищення коду безпосередньо перед його застосуванням. Це може бути корисним, якщо ви хочете перевірити, як певна настройка відіб'ється на коді.

Майстер очищення коду можна запустити для будь-якого проекту, пакета або файлу Java, якщо в них міститься хоча б одна одиниця компіляції. Наприклад, можна вибрати всі проекти Java в робочій області і запустити майстер. Виконання очищення коду вплине на всі одиниці компіляції у вашій робочій області, які можуть бути піддані рефакторингу за допомогою обраного профілю.

За замовчуванням існує один глобальний профіль очищення коду для всієї робочої області. Однак в параметрах проекту можна вказати профіль очищення коду для кожного окремого проекту. Для цього відкрийте властивості проекту та перейдіть до Java Code Style (стиль коду Java)> Clean Up (очистити). як показано нижче.

Малюнок 11. Застосування профілів

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

У дереві перераховані всі одиниці компіляції, які торкнеться передбачувана очищення коду. Ви можете зайти в це дерево, щоб вибрати різні зміни одиниці компіляції. При виборі зміни показується вихідний текст і текст після рефакторінга в формі зіставлення. Після огляду змін ви, можливо, не захочете застосовувати всі з них. В цьому випадку можна просто зняти позначку у тих змін, які виконувати не потрібно. Натискання Finish запускає виконання процесу очищення коду.

Корисні поради

Після декількох запусків майстра очищення коду і правильного налаштування вашого профілю, ви, можливо, не захочете при кожній наступній операції очищення знову клацати по кнопках майстра. В цьому випадку можна просто відключити майстер на сторінці налаштування профілів в Preferences> Java> Code Style> Clean Up.

Малюнок 13. Приховати / показати майстер очищення коду
Малюнок 14. Застосування фільтрів

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Операції очищення коду можуть виконуватися не тільки вручну, але і під час збереження файлу Java. Щоб включити цю функцію, відкрийте Window> Preferences> Java> Editor> Save Actions (дії при збереженні) і виберіть додаткові дії. Налаштуйте дії по очищенню коду, як описано вище, і вони будуть виконуватися при кожному збереженні файлу Java. Зверніть увагу, що ці дії можуть виявитися ресурсоємними і загальмувати роботу. Крім того, якщо забути про включеній опції очищення коду, вас може здивувати, що щойно написаний вами код після збереження виглядає по-іншому.

Малюнок 15. Виконання очищення коду під час збереження

Підтримка «чистоти» коду за допомогою eclipse v3

Підтримка «чистоти» коду за допомогою eclipse v3

Очищення коду є корисним інструментом, який поліпшує оформлення вашого коду і допомагає іншим розібратися в ньому. Можливо, вона навіть зробить ваш код більш стійким до помилок. Однак стиль кодування - це справа смаку. Наприклад, люди, які в минулому уникали великої кількості лапок, навряд чи тепер будуть використовувати блоки кожен раз, коли майстер очищення коду буде пропонувати цю дію.

Очищення коду не вирішує концептуальних або функціональних проблем, по крайней мере, в поточній версії Eclipse. Але вона може заощадити великий обсяг роботи, представляючи код в зрозумілому вигляді. Дії, що виконуються майстром, великі і вирішують багато проблем, пов'язаних зі стилями та угодами кодування. Організації повинні вибрати власний стиль і угоди для кодування, тому корисно, щоб майстер був розширюваним, хоча в Eclipse V3.3 це не так. Ідея очищення коду актуальна не тільки в світі Java, але також могла б бути корисна і для інших мов, таких як C / C ++, PHP, Python, Perl і т. Д. Буде цікаво подивитися, як спільнота прийме цю функцію і в яких напрямках вона буде розвиватися.

Ресурси для скачування

Схожі теми