티스토리 뷰

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
겸손한 개발자가 만든 거만한 소프트웨어
카테고리 컴퓨터/IT
지은이 신승환 (인사이트, 2009년)
상세보기

 요즘 이 책을 보고 있습니다. 옆 팀의 개발자분이 저런 재미있는 제목의 책을 보고 있는걸 보고, 회사 도서관에 저 책이 있길래. 잠시 서서 보다가 덜컥 집에 빌려왔습니다.

 그중에 재미있는 구절이 있어서 소개합니다.

---- 환경대로 프로그램을 만든다 ----
멜빈 콘웨이(Melvin Conway)는 1968년 데이터메이션(Datamation) 지에서 이렇게 설명했습니다. "시스템을 설계하는 조직들은 자신들의 조직 사이에 의사소통 구조(communication structure)를 모방한 형태의 설계를 만든다." 이것을 콘웨이 법칙(Conway's law)이라고 합니다.

 예를 들자면, "네 개의 팀이 하나의 컴파일러를 만들 때 4단계를 거치는 컴파일러를 만든다"(예시는 제가 조금 수정했습니다)

 이와 조금은 다르지만 비슷한 생각을 해본적이 있는게, "인터페이스"가 뭔지 개념이 없는 프로그래머들이, 팀별로 작업을 나눠서 하기 때문에 "인터페이스"라는 걸 자연스럽게 사용하게 되는 상황을 생각해봅니다. 즉, 프로그래머들이 자연스럽게 자신들의 환경과 닮은 형태의 코드를 작성한다는 겁니다.

 저도 조금 복잡한 작업을 하는 함수나 코드를 만들 때면 내가 생각하는 사고방식을 그대로 코드로 만드려고 합니다. 그리고 최대한 쉽게 풀어쓰고, 사고방식의 순서도 그대로 가져오려고 합니다. 그래야 나중에 다시 코드를 봤을 때 이해하기 쉽고, 따라가기 쉽거든요.

---- 행동유도성 ----
 돌아가는 형태를 띤 물건은 돌리고 쉽고, 자판기를 보면 돈을 먼저 넣고 싶고, 가늘고 긴 막대를 보면 상대방을 향하게 하고 싶다. 툭 튀어나온 버튼은 누르고 싶게 한다.

 프로그램을 만들 때도 이런 내용을 생각하며 만들자.

---- 일반해 ----
 지하철 입구에 장애인을 위해서 장애인 리프트를 만들었다. 장애인도 사용할 수 있는 엘레베이터를 설치했다(일반해)

댓글
최근에 올라온 글
Total
Today
Yesterday