노마드코더 개발자북클럽 Clean code Mission(1) : 더러운 코드 고치기

1

 Hint❕ : 검색하기 쉬운 이름을 사용하세요.

blastOFF는 로켓 발사를 의미. 86400000은 하루의 밀리초 (milliseconds) 의미.

// What the heck is 86400000 for?

setTimeout(blastOff, 86400000);


// GOOD 😎

// 위 코드를 깨끗하게 다시 작성해 주세요.

ONE_DAY_IN_MILLISECONDS = 86400000

blastOffAfter(ONE_DAY_IN_MILLISECONDS);



// 어떻게 고쳤는지, 사례에서 무엇을 배워야 하는지 설명해주세요.


본 코드에서 말하고자 하는 바는

"하루 뒤에 로켓 발사"임.


'시간을 정한다' 라는 의미의 함수보다

말하고자 하는 바를 다음과 같이 그대로 표현하였음.

'발사한다, 얼마 뒤에? 하루 뒤에.'







2

Hint❕ : 의미있는 이름을 사용해 주세요.

const yyyymmdstr = moment().format("YYYY/MM/DD");


// GOOD 😎

// 위 코드를 깨끗하게 다시 작성해 주세요.

const now = moment();

const todayDate = now.format("YYYY/MM/DD");



// 어떻게 고쳤는지, 사례에서 무엇을 배워야 하는지 설명해주세요.

moment()가 무슨 함수인지 잘 모르겠지만
지금 당장의 시각을 반환하는 ,
내가 바꿀 수 없는 표준 함수로 이해했다.


현재 Timestamp에서 yyyy/mm/dd는 
오늘의 date에 해당하므로
todayDate라고 명명함







3

Hint❕ : 불필요하게 반복하지 마세요.

const Car = {

  carMake: "Honda",

  carModel: "Accord",

  carColor: "Blue"

};


function paintCar(car, color) {

  car.carColor = color;

}


// GOOD 😎

// 위 코드를 깨끗하게 다시 작성해 주세요.

class Car {

  constructor(manufacturer, model, color){

      this.manufacturer = "Honda",

      this.model = "Accord";

      this.color = "Blue";

    }

    paintCar(color){

        this.color = color;

    }

}


// 어떻게 고쳤는지, 사례에서 무엇을 배워야 하는지 설명해주세요.

자동차의 특성, 동작은 
자동차라는 틀(클래스)와 연관성이 높기 때문에 
class화함.


연관되고 반복되는 특성, 동작끼리 모아서 추상화하자.






 #노개북 #노마드코더 #개발자북클럽 


댓글

이 블로그의 인기 게시물

실무진 면접 경험으로 정리하는 백엔드 (1) : 에듀 테크 기업 면접

Blogger 커스터마이징 : CSS 수정 (sticky-header)

Intel 14th gen CPU의 칩 충돌 사태와 해결 방법