알고리즘과 코드 스타일링

katsukichi·2021년 2월 2일
0

CodeStates_PRE

목록 보기
22/27

문제를 해결할때

  1. 한번에 해결하려고하지말자.
  2. 문제를 분해해보자.
  3. 기능을 분리했다면 그 각 기능들을 함수화해보자.
  4. 더 나아가 각 함수를 일회성이아닌 보편적으로 쓸수있게(재활용가능하게) 작성해보자.
    (보통 보편적으로 쓸수있게 바꾸는것을 일반화 (generic) 한다고 표현할것이다.)

이부분을 뼈저리게 느낀것이 reduce,filter,map 사용할때이다.

reduce,filter,map은 만능이아니다, 각 내장된 기능들을 불러서 사용할때
분명 한가지 기능과 역할을 위해서 사용하라고만들어 둔것이다.
여러가지 작업을 하나의 메서드 내부에서 진행하려고하면 수만은 if문으로 걸러내야한다.
가독성도 떨어지고 코드만 점점 어렵게 짜게된다.
기능을 나눠서 메소드를 한두번만 사용해도 충분히 가독성좋고 효율적으로 빠르게 코딩할수있다.

코드 스타일링

왜중요한가?

소통비용 : 개발자에게 10분은 소중하다.

변수이름 a가 무엇이냐? 에대해서 선임 개발자에게서 쿠사리가 들어온다면

이에대해서 설명하고 하는행위 자체가 소통비용인것이다..

변수명을 직관적으로 알아들을수 있게 짯다면 이런 시간은 소모되지않는다.

그에 관한 여러가지가 있다.

  1. 들여쓰기 (Indentation)

들여쓰기에 관련해서 스페이스,탭 사이에 논쟁은 프로그래밍세계에서 아주 오래된 논쟁이다.
많은 js프로젝트에서 대부분의 프로젝트가 2개의 스페이스를 쓰고있다, 점차 들여쓰기 논쟁의 승리자가 되었다.
(이는 통계적으로 나온 결과이다.) 정답은 없다. 하지만 스페이스2 번쓰기도하고,탭도쓰고 혼용해서 사용하는것은 피해야한다.

  1. 변수명(Naming)

변수명은 본질적 의미를 가지고있어야한다. 직관적인게 최고

  • 데이터모음이면 복수명사가 좋다.
  • boolean 타입이 할당된 변수는 is혹은are이 붙어서 참 혹은 거짓임을 분명히 표현
  • 함수이름은 동사가 좋다.
  • 변수 할당값이 Class인 경우 주로 변수 첫글자 대문자 사용
  1. 기호 및 구두점 (punctuation)
  • 문법적으로 생략가능한 때에도 중괄호 생략을 자제하자(예를들면 for,while,if?)
  1. 문자열 표시는 작은따옴표
  • 나는 큰따옴표가 습관되서 큰따옴표로 사용하곤하지만..역시나 최악은 둘다 혼용해서 사용하는것.
  1. 줄바꿈이 필요한문자열은 백틱을 사용하자.

  2. 세미콜론 잘 써주자.

  3. 엄격한 비교연산자를 쓰자 ==,!= 는 엄밀하게 검사하지않기때문에 ===,!== 를 사용하자.

  4. 3항연산자는 간결하고 가독성 좋은 경우만 사용하자.

  5. not연산자(!)는 바로 앞에 붙여서 사용하자.

  • !isEqual 이렇게 -> 안좋은예) ! isEqual // 띄어쓰기하면 별로다.
  1. 가능한 짧게 쓰기

  2. 부정의 의미가 명확한곳에서만 Not 연산자 사용하기

  3. boolean으로 병가되는 표현문은 바로 return 하자

  4. 코드 문장, 구문 사이 공간 너무 지나치게 줄바꿈을 많이하지말자. 한번이 좋다.(예외도있다)

  5. 콤마 사이는 한 칸 띄어쓴다.

  6. 연산자 사이는 한 칸 띄어쓴다.

  7. 주석은 꼭 필요한 곳에서만

  8. 카멜케이스 vs 스네이크케이스

    js는 기본적으로 카멜케이스 이고 상수를 지을때는 스네이크 케이스로 간다.

유명한 코드 스타일 가이드

Google JavaScript Style Guide

Airbnb JavaScript Style Guide

The Modern JavaScript Tutorial - Coding Styling

NHN 코딩 컨벤션 - HTML/CSS

NHN 코딩 컨벤션 - Javascript

profile
front-back / end developer / Let's be an adaptable person

0개의 댓글