사상 - 프로그래밍 이데올로기

UNIX 철학

대화형 인터페이스 회피

구속적 인터페이스라고도 하는데 이렇게 되면 사용자도 머신도 소프트웨어에 구속당한다.

  • 소프트웨어별로 독자적인 대화 방법을 기억해야 된다.
  • 소프트웨어끼리 대화 할수 없다.
  • 대기 시간이 많아진다.
  • 입력부분에 대한 해석 코드가 많아지고 흉해진다.
  • 큰것이 아름다운 접근법으로 변질된다.

필터화

소프트웨어를 필터로 설계 한다. 모든 소프트웨어는 입출력이다. 표준입출력을 사용하자

10개의 작운정리

  • 환경 커스터마이즈
  • 작고 가벼운 커널
  • 소문자 사용
  • 자연 보호
  • 침묵은 금
  • 병렬 사고
  • 부품 협력
  • 90%의 해
  • 열등해야 뛰어나다
  • 계층 지향

관점 - 프로그래머가 보는 시각

응집도

응집도란 모듈에 포함된 기능의 순수함을 나타내는 척도로 모듈의 강도를 측정하는 단위이다. 응집도란 7단계이다.

  • 압합적 강도 - 우연히 요소가 일치한다.
  • 논리적 강도 - 어떤기능을 추상적으로 파악해서 모은것이다.
  • 시간적 강도 - 특정시점에 연속해서 실행되는 여러 개의 기능을 하나의 모듈로 모은것
  • 순서적 강도 - 순서적인 관련성이 있다.
  • 연락적 강도 - 순서적 강도의 특성을 가지면서 데이터를 교환하거나 참조한다.
  • 정보적 강도 - 특정 정보를 다루는것을 하나의 모듈로 묶은것
  • 기능적 강도 - 기능적 강도 모듈은 모듈내의 모든 명령이 하나의 역활을 실행 하기 위해 서로 관련된 모듈

섞여 있는 모듈은 깨지기 쉽다.

참조