JavaScript - 재귀함수, 코드작성법

nRecode·2020년 3월 30일
0

JavaScript

목록 보기
5/12

재귀함수

재귀 어떤 함수가 스스로를 호출하는 것.
반복항 구문을 함수 단위로 분리해, 특정 조건이 만족할 떄 까지 실행하는 패턴으로 볼 수 있다.
무한 반복을 방지하기 위해 반드시 탈출 조건이 있어야 한다.

function(fac(n)){
if(n === 1){
return 1;
}
return n*fac(n-1);
}
  • 재귀의 장점과 단점
    장점: 알고리즘이 재귀로 자연스러우면 가독성이 높아진다.
    단점: 값이 리턴 전까지 리턴 전까지 call stack을 생성하므로 메모리를 많이 사용
  • 알고리즘 해결 방법
    항상 코딩 전에 어떻게 프로그램이 작동하는지 흐름을 파악하여 의사코드 작성.

알아보기 쉬운 코드 작성법

Indentation – 들여쓰기

논리적으로 종속되어 있는 코드를 쓸 때, 종속된 code block는 주인 code block보다 두 칸 들여쓰기한다.

Naming – 이름 짓기

  • 변수
    변수의 이름은 한 단어 표현하는 것이 가장 좋다. 다루고 있는 문제의 영역(domain), 핵심을 잘 묘사해주는 단어일수록 좋고 변수가 존재하는 목적을 고려해서 변수의 이름을 지어야 한다.
    ex)names

  • Boolean 이름
    Boolean에 관한 변수의 이름은 전형적인 형식을 가진다. Boolean 값은 참 혹은 거짓이므로, 관련 변수의 이름 앞에 is 혹은 are를 붙인다.
    ex) isEqual

  • 함수 이름 짓기
    함수 관련 변수의 이름을 지을 때는 동사로 만든다. verbObject같은 형식 ex)calculateTotal

  • 변수 이름에서의 대문자
    변수가 포함한 class를 지시하기 위해 변수 이름의 첫 글자를 대문자로 쓴다.
    상수(const)를 정할 때는 전체를 대문자로 쓴다.

그 이외에

  • 문법적으로 생략 가능한 때에도 중괄호를 생략하지 않는다.
  • 엄격한 비교연산자 사용 ex) == 대신 ===사용
  • 3항 연산자 x ? y : z (x가 참이면 y실행하고 참이 아니면 z실행)는 가독성이 떨어진다.
profile
안정성, 확장성 있는 서버를 구축하고 가꾸는 개발자를 목표로 공부하고 있습니다. 🤔🤔🤔🤔 부족하기에 맞지 않는 내용이 있을 수 있습니다. 가감없이 피드백 해주시면 정말 감사하겠습니다..🙏

0개의 댓글