JavaRush /Java блог /Random UA /Кава-брейк #81. Найкращі Java-бібліотеки, які має знати к...

Кава-брейк #81. Найкращі Java-бібліотеки, які має знати кожен розробник. Чому треба писати чіткий, змістовний код (і як це зробити)

Стаття з групи Random UA

Найкращі Java-бібліотеки, які має знати кожен розробник

Джерело: Hackernoon З Java-бібліотеками ви позбавите себе необхідності заново винаходити колесо. Бібліотеки підтримують великі спільноти, мають високопродуктивний код та добре протестовані. І оскільки екосистемі Java вже більше 25 років, ви легко можете знайти необхідні бібліотеки для вирішення безлічі рутинних завдань. Сторонні бібліотеки легко використовувати з інструментами керування залежностями Maven або Gradle , які автоматично дозволяють транзитивні залежності та завантажують jar-файли. Кава-брейк #81.  Найкращі Java-бібліотеки, які має знати кожен розробник.  Чому треба писати чіткий, змістовний код (і як це зробити).

Бібліотеки Java загального призначення

Такі бібліотеки, як Google Guava та Apache Commonsдопомагають писати код для рутинних операцій. Бібліотеки загального призначення містять службові класи для роботи з bean-компонентами, колекціями, кешуванням, стисненням, хешуванням, введенням-виводом, криптографією, математикою та статистикою, обробкою рядків, графіками, паралелізмом, перевіркою та багатьма іншими. Guava – це проект Google, створений Джошуа Блохом, провідним розробником Java Collection Framework та автором книги “Ефективна Java”. Раніше Guava була єдиною бібліотекою колекцій з підтримкою функцій Java 5, таких як узагальнені типи, перерахування, підступні типи, що повертаються. Сьогодні Guava активно розвивається та підтримується. Apache Commons використовується у широкому спектрі проектів. Вона складається з 44 модулів, ви можете додавати лише ті залежності, які вам потрібні. Починаючи з версії 4.0 бібліотека підтримує дженерики.

Бібліотеки логінгу

Якщо ви розробляєте великий проект, вам може знадобитися logging (ведення протоколу). Існує декілька видів logging. Вони допомагають зрозуміти поведінку коду, фіксувати помилки, відстежувати та аналізувати активність програми та виконувати аудит важливих подій. Раніше найпопулярнішою бібліотекою логінгу була Log4j . Хоча вона вже застаріла, Log4j вплинула на сучасні бібліотеки журналів. Нові проекти: Logback та SLF4Jприйшли на зміну Log4j У порівнянні з попередником вони мають кращу продуктивність, конфігураційні файли в Groovy, автоматичне перезавантаження файлів конфігурації, автоматичне видалення старих архівів журналів, автоматичне стиснення архівних файлів журналу, розширену фільтрацію та інші переваги. SLF4J (Simple Logging Facade) - це інтерфейс для бібліотек журналів, який сам по собі не веде журнали. З SLF4J розробник може перемикатися між реалізаціями журналу, просто змінюючи залежності. Apache Log4j2- Сучасна бібліотека журналів. Крім наявності всіх переваг Logback, в ній є безліч цікавих функцій, таких як архітектура плагінів, підтримка лямбда-виразів Java 8, рівні журналів, що налаштовуються, інтеграція з серверами додатків і налаштування за допомогою Spring Cloud Configuration. Apache Commons Logging - компонент проекту Apache Commons, такий як SLF4J, надає API для ведення журналу і може використовуватись з будь-якою реалізацією під час виконання.

Бібліотеки тестування Java

Написання тестів є невід'ємною частиною розробки програмного забезпечення. Вони допомагають гарантувати певну поведінку коду. Автоматичне виконання регресійних тестів гарантує, що зміни, такі як покращення чи виправлення, не порушують існуючу функціональність та не призводять до появи нових помилок. Найчастіше використовуване середовище модульного тестування Java - JUnit . Вона дозволяє писати тести, що повторюються, на основі анотацій і запускати їх за допомогою інструменту автоматизації складання. JUnit підтримує групування тестових випадків, параметризацію, тайм-аути, налаштування імен тестів та вкладення тестових прикладів. TestNG(Test Next Generation) також є популярним середовищем тестування і більш просунутим, ніж JUnit. TestNG використовується не тільки для модульного тестування, але також для інтеграції та функціонального тестування. На відміну від JUnit TestNG підтримує залежні тести, паралельне виконання тестів (JUnit надає його в експериментальному режимі) та інші функції. І JUnit, і TestNG мають відмінну інтеграцію з поширеними IDE, такими як IntelliJ IDEA, Eclipse та NetBeans.

Бібліотеки серіалізації даних

Часто виникає необхідність обміну даними між програмними компонентами чи зовнішніми системами. Для цієї мети ми можемо використовувати легкочитані (JSON, XML) або двійкові формати даних. Jackson та Gson – найбільш популярні бібліотеки для роботи з JSON. Вони підтримують потокову обробку і серіалізацію, що налаштовується. Jackson надає велику підтримку анотацій. Gson простий у використанні в прикладах і підходить, коли у вас немає доступу до вихідного коду для додавання інструкцій. Для роботи з XML можна використовувати бібліотеки JAXB та StAX. JAXB дозволяє відображати об'єкти Java у документи XML зручним способом. StAX забезпечує потокову обробку документів XML. StAX підходить, коли програма працює з величезними XML-документами.

Інші бібліотеки Java

Lombok — бібліотека для створення коду, яка допомагає мінімізувати шаблонний код. Quartz – бібліотека для планування завдань. StreamEx — надає додаткові функції стандартного Stream API. Soup - розширена бібліотека для роботи з HTML. Сподіваюся, що завдяки цій статті ви не тільки познайомабося з найпоширенішими бібліотеками Java, але й зможете легко знайти готові бібліотеки для своїх проектів. Використання сторонніх бібліотек допоможе стати більш продуктивним Java-розробником.

Чому треба писати чіткий, змістовний код (і як це зробити)

Джерело: Amymhaddad Короткий код - це не мета при написанні програм. Короткий не обов'язково найкращий. Ми не повинні прагнути до короткого та лаконічного коду. Ми просто не повинні навмисно ускладнювати чи заплутувати код. Він має бути ясним і змістовним. "Ясність - це не те ж саме, що стислість", - пише Браян Керніган у книзі "Практика програмування". "Найчастіше чистий код буде коротшим... але він може бути і довшим... Правильний критерій тут - легкість розуміння". Кава-брейк #81.  Найкращі Java-бібліотеки, які має знати кожен розробник.  Чому треба писати чіткий, змістовний код (і як це зробити).Чіткий лист також свідчить про наше мислення. Так що, якщо ваш текст (чи то проза, чи код) складний і заплутаний, то вам є над чим попрацювати. Будь-хто може зробити щось складне. Набагато важче взяти щось складне та зробити його ясним та зрозумілим. Ось шість способів зробити це:

1. Напишіть зрозумілі імена класів, функцій та змінних

Імена, які ми вибираємо в написаному нами коді, впливають на читання та зміст. Наприклад, однолітерні імена змінних можуть вводити в оману. Читач може розуміти, що є єдина змінна t, тому йому доводиться припускати, що вона означає, з контексту. Такі припущення можуть стати дорогою до катастрофи. У однаковій мірі збиває з пантелику, коли ім'я змінної використовується у множині, тоді як воно має бути в однині (або навпаки). Незрозуміло, чи змінна представляє багато елементів чи один елемент? У книзі Стіва МакКоннелла Code Complete є чудові поради щодо вибору найменувань: “Опишіть словами, що є змінною. Часто це твердження саме собою є найкращим ім'ям змінної”. Потім спитайте себе: "Що є ця змінна?" Найчастіше відповіддю це питання стане ім'я змінної.

2. Рефакторинг

Багато письменників проводять більшу частину свого часу за редагуванням. Одна річ — написати текст. Інше — вкласти у нього сенс. Те саме має відбуватися і з кодом, який ми пишемо: ми маємо витрачати більше часу на “редагування” (або рефакторинг, у нашому випадку). Давайте будемо чесними, наша перша спроба вирішити проблему зазвичай не найкраща, навіть якщо рішення правильне. Завжди є можливості для покращення, чи то найкращий алгоритм, структура даних або ім'я змінної.

3. Прочитайте свій код вголос

Після того, як я напишу статтю (у тому числі й цю), я читаю її вголос. Якщо пропозиція звучить незграбно або збиває з пантелику, ймовірно, її потрібно переписати. Читання вголос – чудова практика для коду, який ви пишете. Так ви зможете виявити помилки, які раніше пропустабо з уваги.

4. Створіть список

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

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

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

6. Прочитайте книгу Вільяма Зінсера "Про гарний лист"

Книга Зінсера призначена для письменників, але багато з її принципів можна застосувати до роботи програмістів. Зрештою, автори прози та коду займаються схожою справою: пишуть текст.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ