새로운 질서 위키

관심사의 분리

관심사의 분리(Separation of Concerns, SoC)는 한 문제의 여러 측면을 구별해 각각 살펴보는 사고와 설계의 원칙이다. 여기서 관심사는 개인의 취향보다 정확성, 효율, 표현처럼 검토할 측면을 뜻한다. 에츠허르 데이크스트라(Edsger W. Dijkstra)는 한 측면에 집중하되 다른 측면도 존재한다는 사실을 잊지 않는 방법으로 설명했다. (데이크스트라, 과학적 사고의 역할)

한 번에 무엇을 보는가

  • 웹사이트를 검토한다면 내용이 맞는지, 읽기 편한지, 느린 환경에서도 작동하는지를 나누어 살펴볼 수 있다. 하나를 통과했다고 나머지까지 해결된 것은 아니다.
  • HTML의 내용 구조, CSS의 표현, 자바스크립트의 동작을 구별해 읽는 것도 연습이 된다. 파일 개수보다 각 부분이 맡은 일과 서로 주고받는 정보를 먼저 확인하자.
  • 단일 책임 원칙은 무엇 때문에 함께 바뀌는지에 따라 소프트웨어의 경계를 정한다. 관심사의 분리는 질문을 나누어 검토하기에도 적용할 수 있다. 나눠 살핀 뒤에는 전체 작업에서 서로 충돌하는 조건이 없는지 다시 읽어야 한다.

기타 등등

  • 데이크스트라의 글은 1974년 8월 30일에 작성됐으며 EWD447이라는 문서 번호로 보관돼 있다. 파일과 문서를 가리키는 번호가 글의 오랜 주소가 됐다. 출처
  • 이 글은 프로그램의 정확성과 효율뿐 아니라 대학의 컴퓨터 과학 교육과정도 검토한다. 출처

#원칙 #프로그래밍 #교육

검색