본문 바로가기
개발일기/설계와디자인

데이터 중심 프로그래밍

by Daniel_Kevin 2008. 9. 29.
반응형
사용자 삽입 이미지


2008.06.28:
데이터 로직의 복잡함과 자료구조의 복잡함.
이 두가지 중 하나를 선택해야 한다면 무었을 선택해야 하나?

Eric S. Raymond는 1%의 망설임도 없이 자료구조라고 말한다.
이것의 가장 간단한 예는 복잡한 변환 테이블과 복잡한 스위치 문이 될 수 있다.
자료 구조의 복잡함을 선택해야 하는 이유는 무었인가?

사람의 사고 자체가 제어 흐름을 처리하는 능력보다 데이터 구조를 머리속으로
그려내는 능력이 뛰어나다고 한다.
또한, 데이터에 대한 무결성을 검증하는 작업보다 아무리 간단한 로직이라도
완벽함을 검증해 내는 작업이 더 어렵다.

이는 또한 문제의 수준을 상위로 끌어 올리는 역할도 한다.
프로그래머는 되도록 작은 일을 하고 컴퓨터 에게 많은 작업을 시키도록 한다.
패치 작업 시 코드에 손을 대지 않고 데이터를 가공하는 툴을 변경함으로써
저절로 이루어 지도록 해야 한다.

상위의 수준에서 작업하는 것은 버그의 확률이 현저히 낮다.
이것의 예는 raw 바이너리 데이터에서 필요한 데이터를 파싱하여 사용하는 것 보다
툴을 사용해 만든 테이블과 sql을 사용하는 것이다.

이 원리에 기초한 방식이 데이터 중심 프로그래밍이다.

객체지향 프로그래밍과 혼동되지만 중심되는 가치가 서로 다르다.
데이터 중심 프로그래밍은 데이터가 객체의 상태를 나타내는데 그치지 않고
프로그램의 제어 흐름을 결정한다.
또한 프로그래머가 고정코드를 최대한 적게 작성하는 것을 목적으로 한다.
반응형
그리드형

댓글