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

javascript

У цьому дописі в блозі schoolofJavaScript.com, Ми розглянемо загальні принципи чистого кодування для іменування та використання змінних та функцій, а також деякі найкращі практики чистого кодування для JavaScript.

Перш за все, що означає чисте кодування?

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

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

Кращі практики щодо чистого коду JavaScript

Тепер, коли ми знаємо, до чого повинен прагнути кожен розробник, давайте вивчимо найкращі практики!

Як я повинен називати свої змінні?

Замість збереження декількох натискань клавіш використовуйте імена, що розкривають наміри, і не хвилюйтеся, якщо у вас довгі імена змінних.

Якщо ви дотримуєтесь цієї практики, ваші імена можна шукати, що дуже допомагає, коли робите рефактори або просто щось шукаєте.

Крім того, робіть суттєві розмежування і не додавайте зайві та непотрібні імена до назв змінних, наприклад їх тип (угорська нотація).


Зробіть їхні імена змінних простими для вимови, оскільки людському розуму потрібно менше зусиль для їх обробки.

Коли ви робите огляди коду з колегами-розробниками, на ці імена легше посилатися.

Коротше кажучи, не викликайте додаткового відображення розуму зі своїми іменами.

Як слід писати свої функції?

Ваші функції повинні робити одне лише на рівні абстракції.


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

Використовуйте довгі описові імена

Ім'я функції має бути дієсловом або дієслівною фразою, і воно повинно повідомляти про свій намір, а також про порядок та намір аргументів.

Довге описове ім’я набагато краще, ніж коротке загадкове ім’я чи довгий описовий коментар.

Уникайте довгого списку аргументів

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

Зменшити побічні ефекти.

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

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

Консультація або модифікація

Функції повинні щось робити (модифікувати) або відповідати на щось (запит), але не обидва.

Кожному подобається писати JavaScript по-різному, що робити?
Оскільки JavaScript є динамічним та гнучко написаним, він особливо схильний до помилок програмування.

Використовуйте правила роботи компанії та стиль форматування.

Чим жорсткіші правила, тим менше буде докладено зусиль, щоб вказати на неправильний формат у оглядах коду. Він повинен охоплювати такі речі, як узгоджені імена, розмір відступу, розміщення пробілів і навіть крапка з комою.
Для початку, стандартний стиль JS досить непоганий, але, на мій погляд, недостатньо суворий. Я можу погодитися на більшість правил у стилі Airbnb .

Як написати приємний асинхронний код?

Використовуйте обіцянки, коли тільки можете.

Обіцянки доступні безпосередньо з Node 4. Замість того, щоб писати вкладені зворотні дзвінки, ви можете мати життєздатні дзвінки для обіцянок.

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

Як мені писати код продуктивності?

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

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

Однак є кілька простих сценаріїв, таких як нетерпляча ініціалізація того, що ви можете (наприклад, схеми joi в обробниках маршрутів, які будуть використовуватися при кожному запиті та додаватимуть накладні витрати при повторному створенні кожного разу) та використання асинхронного коду замість коду блокування.