클린코드 5

[Clean Code] 10. 클래스

작성일 2023. 5. 23 범위 Clean Code 도서, Chaper 10. 클래스 참고 자료 : groom의 CLEAN CODE JAVASCRIPT ES6의 클래스가 ES5의 함수보다 낫다? CASE 1: 상속이 필요하다 ⇒ 클래스 사용 CASE 2: 크고 복잡한 객체가 필요하다 ⇒ 클래스 사용 CASE 3: 그 외 ⇒ 함수 사용 즉, 때에 따라 쓴다. 상속 안 하고 크지 않은 객체라면 함수를 사용한다. 메소드 체이닝 사용하기 ex. 클래스 내부에서 메소드 체이닝을 구현하기 위해 return this 를 덧붙이면 된다. 메서드 체이닝을 사용하면 객체를 반복해서 작성하지 않고, 코드가 매우 깔끔해진다! 체이닝 X 예 class Car { constructor() { this.make = 'Honda'..

[Clean Code] 9. 단위테스트

작성일 2023. 3. 12 범위 Clean Code 도서, Chaper 9. 단위테스트 참고 자료 : groom의 CLEAN CODE JAVASCRIPT clean-code-typescript 🚿 타입스크립트를 위한 클린코드 - 한글 번역판 TDD의 세 가지 법칙 실패하는 단위 테스트를 작성하기 전에는 실제 코드를 작성하지 말라, (단위 테스트가 실패할 때 까지, 즉, 테스트를 극한까지 짜보고 실제로 들어가라) 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성하라 실패하는 단위테스트를 통과할 정도로만 실제 코드로 작성하라 깨끗한 테스트 코드 테스트 코드에서 가장 중요한 것은 가독성 F I R S T : 명료한 테스트를 위한 규칙 Fast 테스트는 빈번하게 실행되므로 빨라야 합니다...

[Clean Code] 6. 객체와 자료구조

작성일 2023. 3. 2 범위 Clean Code 도서, Chaper 6. 객체와 자료구조 참고 자료 : groom의 CLEAN CODE JAVASCRIPT clean-code-typescript 🚿 타입스크립트를 위한 클린코드 - 한글 번역판 [Clean Code] 6. 객체와 자료구조 👌 객체 : 동작을 공개하고, 자료를 숨김. 동작변경없이 새객체 타입 추가에 용이 다만 기존 객체에 새 동작 추가하기가 어려움 👌 자료구조 : 자료 노출 ⇒ 새 동작 추가하기 쉬움. 다만 기존 함수에 새 자료 추가하기 어려움 📍 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합 다른 경우로 새로운 동작을 추가하는 유연성이 필요하변 자료 구조와 절차적인 코드가 더 적합 자료추상화 이미지 변수 사이에 함수라는..

[Clean Code] 5. 형식맞추기 (code format)

작성일 2023. 2. 6 범위 Clean Code 도서, Chaper 5. 형식맞추기 [Clean Code] 5. 형식맞추기 형식을 맞추는 목적 👌 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다. 적절한 행 길이를 유지하라 세로 위치가 조금만 차이나도(코드 길이) 실제 크기는 크게 달라진다. 신문 기사처럼 작성하라 개요 → 구체화 내용을 정확하게 요약하고 있는 제목(함수명, 변수명) 의 형식을 갖추고 있는 신문기사 처럼 코드를 작성하라 개념은 빈 행으로 분리하라 빈 행 다음에는 집중도가 올라간다. 빈 행은 새로운 개념을 시작한다는 시각적 단서이다. 세로 밀집도 서로 밀접한 코드행은 세로로 가까이 놓아야 한다. 수직거리 같은 파일에 속할 정도로 밀접한 두 개념은 세로 거리로 ..

[Clean Code] 3. 함수 (함수 작성 규칙)

작성일 2023. 1. 23 범위 Clean Code 도서, Chaper 3. 함수 [Clean Code] 3. 함수 함수를 만드는 규칙들 1. 작게 만들어라 함수는 작을 수록 좋다. (중첩 구조 X, 들여쓰기 수준은 2개 이하) 2. 한 가지만 해라 함수가 여러 일을 할 수록 이해하기 어려워진다. 3. 함수당 추상화 수준은 하나로 4. 서술적인 이름을 사용하라 함수의 이름은 함수의 일을 잘 표현하는 이름일 수록 좋다. 5. 이상적인 인수의 개수 : 0개 인수가 많아질 수록 읽는 사람에게 혼동을 준다. 따라서 인수는 적을 수록 좋다, 0개에서 1개를 유지하라. 6. 부수 효과를 일으키지 마라 7. 명령과 조회를 분리하라 함수는 뭔가를 수행하거나 답하는 하나의 일만 해야한다. 8. 오류코드보다 예외처리하라..