본문 바로가기

기타

코드작성 스타일 [ 정보 : 함수형 프로그래밍 (선언형 코드) ]

반응형

명령형(imperative) 코드 vs 선언형(declarative) 코드

 

선언형 코드(declarative)

원하는 결과를 표현하기 위해 코드가 작성됨

ex : CSS

빨강색 배경을 보고싶으면

body {
  background-color:red;
}

원하는 결과를 얻기위한 단계가 없음

 

- `선언형 코드`는 원하는 `결과값`을 선언하는 것

 

 

명령형 프로그래밍(imperative)

원하는 결과를 얻기 위해 필요한 지침에 따라 코드가 작성됨

 

- `명령형 코드`는 그 `결과값`에 어떻게 도달하느냐에 관한 것

 

 

예시코드

 - 띄여쓰기를 특수문자로 변경하는 코드

명령형

function spaceToDash(text) {
  let result = '';
  for (let i = 0; i < text.length; i++) {
    if (text[i] === ' ') {
      result += '-';
    } else {
      result += text[i];
    }
  }
  return result;
}

console.log(spaceToDash('hello world')); // hello-world

선언형

function spaceToDash(text) {
  return text.replaceAll(' ', '-');
}

console.log(spaceToDash('hello world')); // hello-world

 

 

 

모든 선언형 코드는 명령코드 위에 씌여진다고 말할 수 있음

 

명령형 > 선언형

 

 

 

명령형 코드의 단점 

- 개발자의 능력에 따라 버그가 발생하기 쉬움

- 팀 동료들은 코드를 이해하기 어려워 할수도 있음

- 함수가 정확히 무엇을 하려고 하는 지, 한줄 한줄 전부 보아야함

 

선언형 코드의 단점

- 사용하는 함수들을 미리 알고 있어야함 (팀원들도)

'기타' 카테고리의 다른 글

DB [Info : 트랜잭션과 락]  (2) 2024.01.08