Хороший код.

Agenda

  • хорошие практики
  • линтеры
  • JS Doc
  • Typescript*

Хороший код

Хороший код - код, который удобно(приятно) смотреть, читать, расширять и поддерживать

Хорошие практики

  • Использовать преимущественно let/const
  • В конце строчки ;
  • Избегать тернарный оператор(?:)
  • Не использовать NFE
  • Придерживаться одного стиля для строк
  • Для throw писать Error
  • Использовать JSDoc для описания кода
  • Использовать линтер для поддержки стиля
  • И многое другое...

JSDoc

Позволяет писать документацию к  JS коду

JSDoc

/** 
 * This function is divide 2 numbers.
 * 
 * @param {number} a first param
 * @param {number} b second param
 * @throws Error when `b` is 0
 * @return {number} Division result by formula `a/b`
 * @example
 * divide(6,2) // 6/2 = 3
 * divide(1,0) // throws Error
 * divide(4.1,2.5) // 1.64
*/
function divide(a,b){
	if(b === 0) throw new Error('Divide by zero')
  	return a / b;
}

/** check smth @type {boolean} */
let isOk = false

divide(1,3)
isOk = true

JSDoc

JSDoc. Полезные теги

  • param
  • throw
  • return
  • example
  • type
  • constructor
  • see
  • link

JSDoc. Генерация

npx jsdoc <path>.js

JSDoc. Генерация

JSDoc. Генерация

EsLint

EsLint позволяет придерживаться одного стиля написания кода

Начало работы

npm init @eslint/config@latest

Начало работы

Рекомендуемые

Пример

Пример

Запуск

Полезные команды

npx eslint
npx eslint ./src/*.js
npx eslint --fix

References