"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 사람이 읽을 수 있는 JavaScript

사람이 읽을 수 있는 JavaScript

2024년 11월 22일에 게시됨
검색:269

Human-Readable JavaScript

기계뿐만 아니라 인간을 위한 코드 작성

소프트웨어 개발의 세계에서 작동하는 코드를 작성하는 것은 시작에 불과합니다. 개발자로서 우리는 종종 코드를 기능적으로 만드는 데 중점을 두지만, 코드는 기계뿐만 아니라 사람도 읽고 이해하도록 되어 있다는 사실을 때때로 잊어버립니다. 모든 프로그래밍 언어와 마찬가지로 JavaScript는 다양한 방식으로 작성될 수 있지만 사람이 읽을 수 있는 JavaScript를 작성하는 것은 유지 관리 및 확장 가능한 애플리케이션을 구축하는 데 중요한 기술입니다.

사람이 읽을 수 있는 코드는 다른 개발자(또는 미래의 자신)가 이해하기 쉬운 코드입니다. 인지 부하를 줄이고 팀이 보다 효과적으로 협업할 수 있도록 하며 시간이 지남에 따라 코드 디버깅 및 업데이트를 단순화합니다. 이 글에서는 사람이 읽을 수 있는 JavaScript를 작성하는 것이 왜 필수적인지 살펴보고 이를 달성하기 위한 모범 사례에 대해 논의하겠습니다.

사람이 읽을 수 있는 JavaScript가 중요한 이유

  1. 협업: 팀 환경에서는 여러 개발자가 동일한 코드베이스에서 작업하는 것이 일반적입니다. 사람이 읽을 수 있는 코드를 작성하면 팀 구성원이 논리를 쉽게 이해할 수 있으므로 협업이 원활해지고 개발 주기가 빨라집니다.

  2. 유지 관리: 코드는 작성된 것보다 더 자주 읽혀집니다. 귀하 또는 다른 개발자는 원래 작성된 후 몇 달 또는 몇 년 후에 코드 조각으로 다시 돌아와야 할 수도 있습니다. 명확하고 읽기 쉬운 코드를 사용하면 버그 수정, 새 기능 추가 등의 유지 관리 작업이 훨씬 쉬워집니다.

  3. 디버깅: 문제가 발생하면 잘 작성된 코드를 디버깅하기가 더 쉽습니다. 사람이 읽을 수 있는 코드를 사용하면 더 빠르게 실수를 발견하고, 논리 흐름을 이해하고, 필요한 수정 사항을 구현할 수 있습니다.

  4. 온보딩: 새로운 개발자가 프로젝트에 참여할 때 코드베이스에 빠르게 익숙해져야 합니다. 깔끔하고 읽기 쉬운 코드를 작성하면 새로운 팀 구성원이 코드의 구조와 목적을 이해하는 데 도움이 되므로 온보딩 시간이 단축됩니다.

사람이 읽을 수 있는 JavaScript 작성 모범 사례

1. 설명적인 변수 및 함수 이름을 사용하십시오.

변수와 함수는 목적을 명확하게 설명해야 합니다. 의미가 분명한 매우 작은 범위에서 작업하는 경우가 아니면 x 또는 y와 같은 단일 문자 변수 이름을 피하십시오. 대신 보유하고 있는 데이터나 수행하는 작업을 설명하는 의미 있는 이름을 사용하세요.

나쁜 예:

function a(x, y) {
  return x * y;
}

좋은 예:

function calculateArea(width, height) {
  return width * height;
}

좋은 예에서는 함수가 수행하는 작업과 인수가 나타내는 내용이 즉시 명확해집니다. 이러한 명확성은 코드를 한눈에 이해하기 쉽게 만듭니다.

2. 기능을 작고 집중적으로 유지하세요

함수는 한 가지 일을 잘 수행해야 합니다. 대규모 다목적 기능은 이해하고 유지 관리하기 어렵습니다. 코드를 더 작고 집중된 함수로 나누면 가독성이 향상되고 테스트 및 디버깅이 더 쉬워집니다.

나쁜 예:

function processUserData(user) {
  // Validate user
  if (!user.name || !user.email) {
    return 'Invalid user data';
  }

  // Save user
  database.save(user);

  // Send email
  emailService.sendWelcomeEmail(user.email);

  return 'User processed successfully';
}

좋은 예:

function validateUser(user) {
  return user.name && user.email;
}

function saveUser(user) {
  database.save(user);
}

function sendWelcomeEmail(user) {
  emailService.sendWelcomeEmail(user.email);
}

function processUserData(user) {
  if (!validateUser(user)) {
    return 'Invalid user data';
  }

  saveUser(user);
  sendWelcomeEmail(user);

  return 'User processed successfully';
}

좋은 예에서 각 기능에는 단일 책임이 있습니다. 기본 processUserData 함수는 논리가 더 작은 설명 부분으로 분리되어 있기 때문에 읽기가 더 쉬워졌습니다.

3. 필요한 곳에 댓글을 작성하세요

주석은 어떤 작업이 특정 방식으로 수행되는 이유를 설명하거나 명확하지 않은 코드를 명확히 하는 데 좋은 방법입니다. 그러나 주석은 불분명한 코드를 작성하는 데 버팀목으로 사용되어서는 안 됩니다. 잘못 작성된 코드를 보완하기보다는 보완하기 위해 주석을 사용하세요.

나쁜 예:

// This multiplies width and height to get the area
function calculateArea(width, height) {
  return width * height;
}

좋은 예:

// Calculates the area of a rectangle
function calculateArea(width, height) {
  return width * height;
}

나쁜 예에서는 코드 자체가 명확하기 때문에 주석이 중복됩니다. 좋은 예에서 주석은 함수가 직사각형의 면적을 구체적으로 계산한다고 설명하여 유용한 컨텍스트를 추가합니다.

4. 일관된 형식 및 들여쓰기 사용

일관적인 형식을 사용하면 코드를 더 읽기 쉽고 따라가기 쉽습니다. 탭을 사용하든 공백을 사용하든, 작은따옴표나 큰따옴표를 사용하든 일관성을 유지하는 것이 중요합니다. Prettier 또는 ESLint와 같은 도구는 코드베이스 전체에서 일관된 형식을 적용하는 데 도움이 될 수 있습니다.

나쁜 예:

function calculateArea(width,height){
  return width * height;}

좋은 예:

function calculateArea(width, height) {
  return width * height;
}

좋은 예에서는 들여쓰기와 간격을 일관되게 사용하면 코드를 더 쉽게 읽을 수 있습니다.

5. 깊은 중첩을 피하세요

깊게 중첩된 코드는 따르고 유지 관리하기 어려울 수 있습니다. 조기 반환을 사용하거나 논리를 더 작은 함수로 분리하여 코드를 평면화해 보세요.

나쁜 예:

function processUser(user) {
  if (user) {
    if (user.isActive) {
      if (user.hasProfile) {
        return 'User is valid';
      }
    }
  }
  return 'Invalid user';
}

좋은 예:

function processUser(user) {
  if (!user || !user.isActive || !user.hasProfile) {
    return 'Invalid user';
  }

  return 'User is valid';
}

좋은 예에서는 조기 반환을 사용하여 중첩이 줄어듭니다. 이렇게 하면 코드를 더 쉽게 읽고 이해할 수 있습니다.

6. 마법의 숫자를 피하세요

매직넘버는 설명 없이 코드에 나타나는 숫자입니다. 코드를 이해하고 유지 관리하기가 더 어려워질 수 있습니다. 대신 명명된 상수를 사용하여 코드를 더욱 설명적으로 만드세요.

나쁜 예:

if (score > 60) {
  return 'Pass';
}

좋은 예:

const PASSING_SCORE = 60;

if (score > PASSING_SCORE) {
  return 'Pass';
}

좋은 예에서 매직 넘버 60은 상수로 대체되어 코드를 더 읽기 쉽고 유지 관리하기 쉽게 만듭니다.

7. 오류를 적절하게 처리하세요

오류 처리는 명확하고 일관되어야 합니다. 항상 의미 있는 오류 메시지를 제공하고 일반적이거나 불분명한 오류는 사용하지 마세요.

나쁜 예:

function divide(a, b) {
  if (b === 0) {
    throw 'Error';
  }
  return a / b;
}

좋은 예:

function divide(a, b) {
  if (b === 0) {
    throw new Error('Division by zero is not allowed');
  }
  return a / b;
}

좋은 예에서 오류 메시지는 무엇이 잘못되었는지에 대한 명확한 정보를 제공하므로 디버깅이 더 쉽습니다.

결론

사람이 읽을 수 있는 JavaScript를 작성하는 것은 단순히 코드를 작동시키는 것 이상의 필수적인 기술입니다. 다른 개발자(및 미래의 자신)가 쉽게 이해하고, 유지 관리하고, 디버그할 수 있는 코드를 작성하는 것입니다. 설명이 포함된 이름 사용, 함수 작게 유지, 의미 있는 주석 작성, 일관된 형식 사용과 같은 모범 사례를 따르면 작동할 뿐만 아니라 읽기에도 좋은 코드를 작성할 수 있습니다.

코드는 기계를 위한 것만큼이나 인간을 위한 것임을 기억하세요. 가독성을 우선시하면 장기적으로 유지 관리, 확장 가능, 효율적인 코드를 만들 수 있습니다.

릴리스 선언문 이 기사는 https://dev.to/shieldstring/human-readable-javascript-2c9b?1에서 재현됩니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3