선언형 vs 명령형 코드

함수형 프로그래밍 패턴을 사용하는 것 자체가 어떤 대세처럼 여겨지고 있는 요즘, 그냥 대세니까 쓴다기 보다는, 이 패턴이 환영받는 분명한 이유를 알아야 한다.

그런데 먼저 함수형 프로그래밍을 이해하기 위해서는 선언형 코드와 명령형 코드에 대한 이해가 필요하다(고한다^^..)

1. 선언형(declarative) : 결과를 바로 도출

  • ex) CSS
  • 선언형 코드는 명령형 코드 위에 쓰여진다고 볼 수 있음 : 결과에 이르는 배경로직이 보이지 않는 영역에 숨어있는 것

선언형 코드 예시)

function sapceToHeart(text) { 
	return text.replaceAll(" ", "♥")
}

2. 명령형(imperative) : ’어떻게’가 드러남

  • 요구사항에 이르는 단계를 적고 있음
  • 결과에 이르는 과정이 코드에 충분히 설명되어 있다는 것

명령형 코드 예시)

function sapceToHeart(text) {
	let result = "";
	for(let i = 0 ; i < text.length ; i++) {
		if(text[i] === " ") {
			result += "♥"
		} else {
			result += text[i]
		}
	}
	return result
}

3. 장단점 비교

1) 선언형 코드가 비교적 더 보기에 깔끔하고 직관적으로 이해가 가능함

2) 단, 선언형 코드의 경우 중간의 과정이 생략되어 있기 때문에, 어떤 함수가 어떤 기능을 하는지 알고 있어야 함

3) 결과에 이르는 과정을 보고자 한다면 명령형 코드가 더 선호될 수 있음

4) 가독성과 직관성에 중점을 두고자 한다면 선언형코드가 더 선호될 수 있음

참고링크 : https://www.youtube.com/watch?v=7aEQLvvnQIY

좋은 웹페이지 즐겨찾기