JS Clean Code: 포맷팅

Jene Hojin Choi·2021년 5월 16일
0

JavaScript

목록 보기
15/15
post-thumbnail

포맷팅

포맷팅에 대해 과도하게 신경쓰는 것은 의미가 없다! 포맷팅 체크를 해주는 많은 도구들이 존재하기 때문이다.

(위코드에서는 띄어쓰기 맞춰쓰라고 난리였는데.... 그것은 멘토들이 리뷰를 쉽게 하기 위함이었나? ㅂㄷㅂㄷ... 위코드 보고 있냐)

일관된 대소문자를 사용하자

나쁜 예

const DAYS_IN_WEEK = 7;
const daysInMonth = 30;

const songs = ['Back In Black', 'Stairway to Heaven', 'Hey Jude'];
const Artists = ['ACDC', 'Led Zeppelin', 'The Beatles'];

function eraseDatabase() {}
function restore_database() {}

class animal {}
class Alpaca {}

좋은 예

const DAYS_IN_WEEK = 7;
const DAYS_IN_MONTH = 30;

const songs = ['Back In Black', 'Stairway to Heaven', 'Hey Jude'];
const artists = ['ACDC', 'Led Zeppelin', 'The Beatles'];

function eraseDatabase() {}
function restoreDatabase() {}

class Animal {}
class Alpaca {}

함수 호출자와 피호출자는 가까운 위치에 있어야한다

나쁜 예

class PerformanceReview {
  constructor(employee) {
    this.employee = employee;
  }

  lookupPeers() {
    return db.lookup(this.employee, 'peers');
  }

  lookupManager() {
    return db.lookup(this.employee, 'manager');
  }

  getPeerReviews() {
    const peers = this.lookupPeers();
    // ...
  }

  perfReview() {
    this.getPeerReviews();
    this.getManagerReview();
    this.getSelfReview();
  }

  getManagerReview() {
    const manager = this.lookupManager();
  }

  getSelfReview() {
    // ...
  }
}

const review = new PerformanceReview(user);
review.perfReview();

좋은 예

class PerformanceReview {
  constructor(employee) {
    this.employee = employee;
  }

  perfReview() {
    this.getPeerReviews();
    this.getManagerReview();
    this.getSelfReview();
  }

  getPeerReviews() {
    const peers = this.lookupPeers();
    // ...
  }

  lookupPeers() {
    return db.lookup(this.employee, 'peers');
  }

  getManagerReview() {
    const manager = this.lookupManager();
  }

  lookupManager() {
    return db.lookup(this.employee, 'manager');
  }

  getSelfReview() {
    // ...
  }
}

const review = new PerformanceReview(employee);
review.perfReview();

getPeerReviewslookupPeers, getManagerReviewlookupManager 위치가 가까워져서 더 직관적으로 이해하기 쉬워졌다.

0개의 댓글