...

Раніше сьогодні розробник Amazon Q запустив вбудований чат у IDE Eclipse (у попередньому перегляді). У цій публікації я проведу вас через те, як я використовую цю потужну нову можливість впорядкувати свій робочий процес з розробки Java, від рефакторингу існуючого коду до оптимізації критичних методів. Незалежно від того, чи ви досвідчений ветеран Eclipse або просто починаєте, ви побачите, як вдосконалені інструменти розробника Amazon Q можуть переповнювати вашу продуктивність протягом усього життєвого циклу розробки програмного забезпечення.

Фон

Як давній розробник Java, я був в захваті від того, коли розробник Amazon Q був інтегрований у Eclipse минулого року. Я вже деякий час використовую розробника Amazon Q, і він повністю перетворив мій робочий процес розробки. Коли розробник Amazon Q вперше запустив свою функцію вбудованих пропозицій ще в 2022 році, мене здуло, наскільки це може прискорити свої завдання кодування. Але додавання повного інтерфейсу чату в 2023 році підняло речі на наступний рівень. Потім у 2024 році нова можливість вбудованого чату дозволила мені редагувати та рефактор на свій код. Однак вбудований чат не був доступний у Eclipse, до сьогодні!

Розробник чату Amazon Q – це те, де я повертаюсь, коли я не зовсім впевнений, як виконати певне завдання. Я люблю вміти пояснити проблему, яку я намагаюся вирішити, або поняття, яку я намагаюся зрозуміти, і отримати детальні контекстні відповіді, які допомагають мені вказувати в правильному напрямку. Фрагменти та пояснення коду AI не є неоціненними, коли я вивчаю щось нове або вирішую складний виклик. Однак, коли я знаю, як виконати завдання, мені не потрібно пояснення, я просто хочу коду.

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

Тепер, за допомогою нової функції вбудованого чату в Eclipse (у попередньому перегляді) я можу легко редагувати свій код на місці за допомогою розробника Amazon Q. Замість того, щоб копіювати/вставити код з окремого вікна чату, я можу описати зміни, які я хочу внести прямо в редакторі, і розробник Amazon Q безперешкодно інтегруватиме запропоновані оновлення в мою базу коду як різницю. Це чудово для рефакторингу, виправлення помилок та підтримки добре задокументованого, легко читатим коду. Давайте розглянемо пару прикладів, щоб побачити, як працює вбудований чат у Eclipse.

Рефакторинг

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

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

На щастя, з вбудованим чатом розробника Amazon Q в моєму Eclipse IDE мені не довелося вирішувати цей рефактор самостійно. Я вибрав клас OrderProcessor, який викликав вбудований чат за допомогою ярлика клавіатури (CMD + Shift + I для MacOS та Ctrl + Shift + I для Windows). Тоді я описав потрібну зміну: «Рефактор цього класу використовувати введення залежності, щоб я міг знущатися над OrderRepository в одиничних тестах “. Зауважте, що я також міг попросити розробника Amazon Q скористатися певною рамкою DI, як, наприклад, Hibernate.

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

Розробник Amazon Q швидко проаналізував код і подарував мені запропоновану зміну, показану на наступному зображенні. Зміна представлена ​​як різниця, тому я бачу, що розробник Amazon Q видаляє (червоним кольором) та додавання (зелене). Переглянувши зміни, я був радий побачити, що розробник Amazon Q запровадив конструктор, який взяв IOrderRepository Інтерфейс, що дозволяє мені пройти або в конкретній реалізації, або в тестовому подвійному. Це зробило б вітер для написання вичерпних тестів на одиницю для OrderProcessor. Швидким клацанням, щоб прийняти зміни, розробник Amazon Q оновив мій код, заощадивши мені цінний час та гарантуючи, що нова функція буде побудована на суцільній, перевіреній основі.

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

У цьому прикладі я вибрав весь клас. Однак я також можу попросити розробника Q працювати над певною частиною коду.

Оптимізація

Під час роботи над Order клас, я помітив, що containsItem Метод, здавалося, працює повільно, особливо за замовленнями з великою кількістю лінійних елементів. Я вирішив профілити код і, впевнений, цей метод був гарячою точкою, споживаючи непропорційну кількість циклів процесора. Я вибрав containsItem Метод, підняв вбудований чат, і запитав Amazon Q Розробник: “Цей код працює повільно, будь ласка, оптимізуйте його”.

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

Розробник Amazon Q швидко проаналізував існуючий код, який використовував простий для циклу, щоб переробити перелік предметів, і забезпечив вдосконалену реалізацію. Як показано в DIFF, розробник Amazon Q запропонував замінити цикл на більш ефективний підхід на основі потоку, використовуючи anyMatch метод визначити, чи присутній елемент у порядку. Ця зміна покращила продуктивність, особливо для замовлень з великою кількістю лінійних елементів. Я переглянув зміни та прийняв пропозиції розробника Amazon Q.

Код Java, що показує клас замовлення із виділеним розділом, що пропонує заміну традиційного циклу на API Java 8 Stream. Містить реалізацію методу, що містить як з початковим циклом, так і з коментарем рішення на основі потоку.

Оптимізація розробника Amazon Q не тільки покращила продуктивність containsItem Метод, але також зробив код більш читабельним та виконуючим вперед.

Висновок

Інтеграція розробника Amazon Q в IDE Eclipse (ін.) Покращила мій робочий процес розробки Java. Незалежно від того, чи вивчаю я нову концепцію, генеруючи код котлі або оптимізую вузьку продуктивність, а Набір розробників Amazon Q на інструментах, що працюють на AI, стали незамінною частиною мого процесу розробки. Додавання вбудованого чату, зокрема, впорядкувало мою здатність безпосередньо взаємодіяти з помічником, безперешкодно оновлюючи свою базу коду, не порушуючи моєї концентрації. Якщо ви користувач Eclipse, який прагне переоцінити свою продуктивність, настійно рекомендую встановити плагін Amazon Q Developer сьогодні.

Болівія, Парагвай, Бразилія, Уругвай та Аргентина

Прес-реліз

Це машинний переклад випуску нижньої палати Бразилії

Цього четверга (12) нижня палата схвалила Проект законодавчого указу (PDL) 159/22, який передбачає скасування плати за роумінг між МЕРКОСУР країни (Аргентина, Бразилія, Парагвай, Уругвай і Болівія). Текст буде направлений на аналіз до Сенату.

Представлена ​​Представництвом Бразилії в парламенті Меркосур пропозиція включає угоду про скасування збору плати за міжнародний роумінг для кінцевих користувачів Меркосур, підписану в 2019 році.

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

Доповідач тексту для Конституції та Комітету з питань правосуддя та громадянства (CCJ), законодавець Орландо Сілва (PCdoB-SP), рекомендував схвалити угоду.

Джерело: Інформаційне агентство нижньої палати.

Підпишіться на провідну платформу бізнес-аналітики в Латинській Америці з різними інструментами для постачальників, підрядників, операторів, уряду, юридичної, фінансової та страхової галузей.

” class=”btn btn-lg btn__orange-light ” qa-automation=”cmd_robot_btn_footer_content_demo”> Запит на демонстрацію