«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Лучшие практики написания чистого и поддерживаемого кода на JavaScript

Лучшие практики написания чистого и поддерживаемого кода на JavaScript

Опубликовано 7 ноября 2024 г.
Просматривать:990

Best Practices for Writing Clean and Maintainable Code in JavaScript

Чистый и удобный в сопровождении код имеет решающее значение для долгосрочного успеха и масштабируемости любого программного проекта. Это улучшает сотрудничество между членами команды, снижает вероятность ошибок и упрощает понимание, тестирование и поддержку кода. В этом сообщении блога мы рассмотрим некоторые лучшие практики написания чистого и удобного в обслуживании кода на JavaScript, а также примеры кода, иллюстрирующие каждую практику.

1. Единообразное форматирование кода:

Последовательное форматирование кода важно для его читаемости. Это помогает разработчикам быстрее понять код и улучшает совместную работу. Используйте согласованное и широко распространенное руководство по стилю кода, например, предоставленное ESLint, и настройте свой редактор или IDE для автоматического форматирования кода соответствующим образом.
Пример:

// Bad formatting
function calculateSum(a,b){
    return a   b;
}

// Good formatting
function calculateSum(a, b) {
  return a   b;
}

2. Описательные имена переменных и функций:

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

// Bad naming
const x = 5;

// Good naming
const numberOfStudents = 5;

3. Принцип модульности и единой ответственности:

Следуйте принципу единой ответственности за функции и классы. Каждая функция или класс должна иметь единственную, четко определенную ответственность. Такой подход улучшает возможность повторного использования кода и упрощает тестирование, отладку и поддержку.
Пример:

// Bad practice
function calculateSumAndAverage(numbers) {
  let sum = 0;
  for (let i = 0; i 



4. Избегайте глобальных переменных:

Сведите к минимуму использование глобальных переменных, поскольку они могут привести к конфликтам имен и усложнить анализ кода. Вместо этого инкапсулируйте свой код в функции или модули и по возможности используйте локальные переменные.
Пример:

// Bad practice
let count = 0;

function incrementCount() {
  count  ;
}

// Good practice
function createCounter() {
  let count = 0;

  function incrementCount() {
    count  ;
  }

  return {
    incrementCount,
    getCount() {
      return count;
    }
  };
}

const counter = createCounter();
counter.incrementCount();

5. Обработка ошибок и надежность:

Обрабатывайте ошибки корректно и предоставляйте осмысленные сообщения об ошибках или соответствующим образом протоколируйте их. Проверяйте входные данные, обрабатывайте крайние случаи и используйте правильные методы обработки исключений, такие как блоки try-catch.
Пример:

// Bad practice
function divide(a, b) {
  return a / b;
}

// Good practice
function divide(a, b) {
  if (b === 0) {
    throw new Error('Cannot divide by zero');
  }
  return a / b;
}

try {
  const result = divide(10, 0);
  console.log(result);
} catch (error) {
  console.error(error.message);
}

6. Избегайте дублирования кода:

Дублирование кода не только приводит к его раздутию, но и усложняет обслуживание и исправление ошибок. Инкапсулируйте повторно используемый код в функции или классы и стремитесь к подходу DRY (не повторяйте себя). Если вам приходится копировать и вставлять код, рассмотрите возможность его рефакторинга в функцию или модуль многократного использования.
Пример:

// Bad practice
function calculateAreaOfRectangle(length, width) {
  return length * width;
}

function calculatePerimeterOfRectangle(length, width) {
  return 2 * (length   width);
}

// Good practice
function calculateArea(length, width) {
  return length * width;
}

function calculatePerimeter(length, width) {
  return 2 * (length   width);
}

7. Используйте комментарии с умом:

Хотя чистый код не требует пояснений, бывают случаи, когда комментарии необходимы для предоставления дополнительного контекста или пояснения сложной логики. Используйте комментарии экономно и делайте их краткими и содержательными. Сосредоточьтесь на объяснении «почему», а не «как».
Пример:

// Bad practice
function calculateTotalPrice(products) {
  // Loop through products
  let totalPrice = 0;
  for (let i = 0; i 



8. Оптимизация производительности:

Эффективный код повышает общую производительность вашего приложения. Помните о ненужных вычислениях, чрезмерном использовании памяти и потенциальных узких местах. Используйте соответствующие структуры данных и алгоритмы для оптимизации производительности. Профилируйте и измеряйте свой код с помощью таких инструментов, как Chrome DevTools, чтобы выявлять проблемы с производительностью и устранять их соответствующим образом.
Пример:

// Bad practice
function findItemIndex(array, target) {
  for (let i = 0; i 



9. Написание модульных тестов:

Модульное тестирование необходимо для обеспечения корректности и удобства сопровождения вашего кода. Напишите автоматические тесты для охвата различных сценариев и крайних случаев. Это помогает обнаруживать ошибки на ранней стадии, облегчает рефакторинг кода и дает уверенность в изменении существующего кода. Используйте платформы тестирования, такие как Jest или Mocha, для написания и запуска тестов.
Пример (с использованием Jest):

// Code
function sum(a, b) {
  return a   b;
}

// Test
test('sum function adds two numbers correctly', () => {
  expect(sum(2, 3)).toBe(5);
  expect(sum(-1, 5)).toBe(4);
  expect(sum(0, 0)).toBe(0);
});

10. Используйте концепции функционального программирования:

Концепции функционального программирования, такие как неизменяемость и чистые функции, могут сделать ваш код более предсказуемым и простым для понимания. Используйте неизменяемые структуры данных и по возможности избегайте изменения объектов или массивов. Пишите чистые функции, которые не имеют побочных эффектов и выдают один и тот же результат для тех же входных данных, что упрощает их тестирование и отладку.
Пример:

// Bad practice
let total = 0;

function addToTotal(value) {
  total  = value;
}

// Good practice
function addToTotal(total, value) {
  return total   value;
}

11. Документируйте свой код с помощью JSDoc.

Используйте JSDoc для документирования ваших функций, классов и модулей. Это помогает другим разработчикам понять ваш код и упрощает его поддержку.

/**
 * Adds two numbers together.
 * @param {number} a - The first number.
 * @param {number} b - The second number.
 * @returns {number} The sum of the two numbers.
 */
function add(a, b) {
  return a   b;
}

12. Используйте линтеры и форматтеры

Используйте такие инструменты, как ESLint и Prettier, чтобы обеспечить единообразный стиль кода и выявить потенциальные проблемы до того, как они станут проблемами.

// .eslintrc.json
{
  "extends": ["eslint:recommended", "prettier"],
  "plugins": ["prettier"],
  "rules": {
    "prettier/prettier": "error"
  }
}

Заключение:

Написание чистого и удобного в сопровождении кода — это не просто вопрос личных предпочтений; это профессиональная ответственность. Следуя рекомендациям, изложенным в этом сообщении блога, вы сможете улучшить качество своего кода JavaScript, упростить его понимание, поддержку и совместную работу, а также обеспечить долгосрочный успех своих программных проектов. Согласованность, читаемость, модульность и обработка ошибок — ключевые принципы, которые следует учитывать при стремлении к чистому и поддерживаемому коду. Приятного кодирования!

Заявление о выпуске Эта статья переиздана по адресу: https://dev.to/wizdomtek/best-practices-for-writing-clean-and-maintable-code-in-javascript-1phb?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3