English for Prettier Developers
Словник для розробників, які налаштовують Prettier — форматування за думкою, форматування під час збереження і перекриття ESLint — для команд, які обговорюють інструменти стилю коду англійською мовою.
Спори Prettier рідко стосуються самого Prettier — вони стосуються того, які рішення команда готова припинити сваритися. Наличие правильного словаря для “что Преттер контролирует” против “что контролирует льтер” удерживает эти разговоры короткими.
Форматування основ
** Оцінений формататор ** — інструмент, який переформатовує код відповідно до фіксованого набору правил, навмисно пропонуючи дуже мало параметрів налаштування, щоб команди перестали обговорювати стиль.
“Prettier є навмисно позиційним — вся суть у тому, що ми перестаємо мати аргументи табуляції проти пробілів у перегляді коду.”
** Ідемотне форматування ** — двічі запустити формататор дасть такий самий вивід, як і один раз; правильно налаштований формататор ніколи не повинен змінювати один і той же код під час повторних запусків.
- “Якщо Prettier переформатує один і той же файл при кожному знесенні, щось не так — перевірте на конфлікт налаштувань, а не на ваду Prettier.” *
** .prettierrc ** — файл налаштувань, який визначає параметри форматування проекту (ширину рядка, стиль цитування, крапки з комою тощо), який було передано до сховища, щоб кожен співробітник і запуск CI використовували ідентичні параметри.
“Не покладайтеся на типові параметри редактора всіх користувачів — зафіксуйте .prettierrc, щоб CI і локальне форматування завжди збігалися.”
Інтеграція робочого процесу
** Форматування при збереженні ** — параметр редактора, який автоматично запускає Prettier під час збереження файла, отже форматування ніколи не буде виконуватися вручну або за допомогою коментаря перегляду PR.
- “Ввімкніть форматування при збереженні — саме тому коментарі перегляду « виправлення форматування » більше не повинні з’ являтися.” *
Pre-commit hook — Git-хак, який запускає Prettier (часто за допомогою інструменту на зразок lint-staged ) перед завершенням затвердження, захоплюючи неформатований код, перш ніж він досягне CI.
- “Додати гачок перед затвердженням, щоб це було зафіксовано локально, замість того, щоб через десять хвилин перевірка формату у CI зазнала невдачі.” *
** Перевірка формату (CI) ** — крок CI, який виконує Prettier у режимі « перевірки » (без запису) і зазнає невдачі під час збирання, якщо файл ще не відформатовано, використовується як ворота, а не як автоматичне виправлення.
“Неможливість перевірки формату не є вада у вашій логіці — це просто означає, що
npx prettier --writeне було виконано до того, як ви надіслали.”
Претьєр проти Лінтерса
** Форматування проти лінтування ** — форматування стосується пробілів, переривань рядків і пунктуації (задача Prettier); лінтування стосується коректності коду і шаблонів, таких як невикористовувані змінні або відсутні залежності (задача ESLint).
- “Це не те, що Prettier повинен захопити — не використовуваний імпорт є проблемою з лінтингом, а не з форматуванням.” *
** Конфлікт правил (ESLint + Prettier) ** — коли правила стилізації лінтера не збігаються з виведенням Prettier, зазвичай це можна розв’ язати за допомогою вимикання правил стилізації лінтера і надання Prettier виключного права на форматування.
“Вимикання правила indent ESLint — воно бореться з Prettier за контроль над однією і тією ж річчю, саме тому linter продовжує фіксувати код Prettier як тільки він буде форматований.”
Поширені помилки
- Розгляд несумісності Prettier як звіт про помилку, коли Prettier навмисно не показує параметр, який було запропоновано.
- Дозволити правилам стилю ESLint залишатися увімкненими разом з Prettier, що призведе до боротьби між цими двома інструментами за одну і ту ж лінію.
- Пропуск передзатверджувального гачка і покладання лише на CI, перетворення « запуску формату » у повільний цикл зворотнього зв’ язку замість миттєвого.
Практичні вправи
- Поясніть, в двох реченнях, чому Prettier описується як «натураліст» і чому команди вибирають це навмисно.
- Написати короткий коментар PR, пояснюючи, що для перевірки формату CI, що зазнала невдачі, потрібно лише
prettier --write, а не логічну зміну. - Видає чернетку повідомлення з рекомендацією вимикання стилістичного правила ESLint, яке суперечить виводу Prettier.
Зв’язані ресурси
- Англійська для розробників Biome Linter
- Англійська для швидких розробників
- Англійська для розробників GitLab CI
«Навігація за нюансами: понад «виправити» коментарі
Ядро ефективного спілкування навколо інструментів, таких як Prettier, полягає не тільки в тому, щоб знати * що * робити - налаштовувати параметри, запускати команди - але і * як * формулювати ці рішення і, що найважливіше, розуміти зворотній зв’язок. Багато не-рідних англомовних людей вважають прямість технічних обговорень викликом, особливо коли стикаються з фразами на кшталт «виправити це» або надмірно прецедентними коментарями. Вони можуть бути осуджуючими і негайно оборонними. Ключовим є те, щоб сформулювати свої відповіді з точки зору спільних цілей – підтримання послідовності в проекті – а не особистої корекції. Це про будівництво спільного розуміння, а не про диктування правил.
Зазвичай під час перегляду коду виникає ситуація, коли розробник помічає відмінність форматування Prettier від його улюбленого стилю. Замість того, щоб просто сказати «Це порушує Prettier», більш конструктивним підходом є пояснення *причин * за зміною. Наприклад, відповідь на коментар « Форматувати це » за допомогою « Я застосував Prettier, щоб забезпечити послідовний інтервал навколо операторів для покращення читабельності — це звичайна практика у нашій команді ». Це негайно переносить увагу з особистих переваг на встановлені найкращі практики. Аналогічно, при описі змін у Запиті на витягування, вказати « Застосування Prettier для забезпечення послідовного відступу і довжини рядків за командними рекомендаціями » є набагато ефективнішим, ніж просто « Застосовано форматування Prettier ». Інша поширена проблема виникає, коли форматування при збереженні не працює правильно, що призводить до конфліктів між Prettier і ESLint. Корисне повідомлення Slack може бути таким: “Гей команда, я стикаюся з деякими періодичними проблемами з форматуванням Prettier при збереженні. Здається, що у деяких випадках він конфліктує з ESLint — чи можемо ми обговорити можливі зміни налаштувань або тимчасові рішення?» Пам’ ятайте, що навіть просте визнання проблеми і запрошення до співпраці може зменшити напругу.
«Оцінений» - це не просто слово; це описує активний підхід Prettier до форматування, встановлення правил, а не покладання лише на розсуд розробника. Освоєння фраз, таких як «примусити дотримуватися правил стилю» або «зберігати послідовне форматування» демонструє глибше розуміння цілі і цінності інструменту. Не бійтеся пояснити * чому * ви використовуєте певну конфігурацію Prettier; це сприяє довірі і показує прихильність до командних стандартів.
# Example: Using Prettier to format a single file
prettier --write my-file.js
Ця проста команда демонструє основні функції програми — автоматичне застосування правил Prettier. Сфокусування на таких конкретних прикладах під час пояснення ваших дій може допомогти подолати розбіжності у спілкуванні і збудувати довіру у ваше розуміння. Пам’ятайте, ясне спілкування створює сильніші команди.