관점 - 프로그래머가 보는 시각
개밥먹기
자신이 개발한 소프트웨어를 직접 사용해 봐야 된다.이렇게 되면 사용자의 관점을 얻을수 있다. 본인이 사용해서 편리함을 증명해야된다.
고무오리
디버깅 기법이다. 발생한 문제를 누구한테 설명하므로써 문제의 원인을 스스로 깨닫고 자체 해결할수있다.자체 해결을 촉진한다. 무생물에게 먼저 적용하는게 효과적이다. 왜냐 하면 다른사람의 시간을 뺏을수도 있기 때문이다 만약 동료에게 설명하고 싶으면 취지를 설명하고 양해를 구해야 된다.
컨텍스트
컨텍스트의 2가지 측면
- 코드의 읽고 쓰기에 사용
- 생각의 도구로 사용
의도를 확실히 표현하면 흩어져 있던 정보가 이어진다. 프로그램의 달인이라고 불리는 사람들이 패턴을 자유자재로 사용하는것은 패턴을 많이 알고 있어서가 아니라 어떤상황에 어떤 패턴을 사용해야 되는지 알고있어서이다. 코드를 작성할때는 먼저 컨텍스트를 제시하도록 하자.
남에게 작업을 지시할때도 컨텍스트가 중요하다. 프로그램의 달인에게 지시를 할때는 레시피나 규칙은 불필요하다. 컨텍스트를 구축할만큼에 정보만 전달해도 문제가 없다. 달인에게는 달성해야할 목적만 전달하면된다. 하지만 초보자들에게는 구체적으로 세세하게 지시를 해야 된다 그렇지 않으면 나중에는 지시가 형편이 없었다는 이야기를 들을수가 있다.
팀은 하이컨텍스트 지향으로 가야된다. 하이컨텍스트란 어느 공동체에서 배경이나 가치관등 많은 공동인식이 깔린 상태를 가르친다. 하이컨텍스트 문화에서는 의사소통을 꼭 말로 하지않아도 되는 소위 척하면 척이 통용된다.
코드 공통화는 컨텍스트 지향으로 2가지 유의해야 할 점이 있다.
- 공통화한 부분에 개별적인 변경이 필요해지는 경우가 있다.
- 공통화한 코드 부분을 수정하는 경우 영향도가 높아진다.
아리스토텔레스의 지식 분류
- 에피스테네 - 보편적 진리 와 보편적 정당성을 가진 지식 현대 용어로는 과학
- 테크네 - 먼가 창출해내고 만들어 내는 노하우 현대 용어로는 엔지니어링
- 프로네시스 - 지식이라기 보다 실천적인 지혜
디버깅할때도 컨텍스트에 따라서 각각으로는 문제가 없더라고 관계의 의해 문제가 발생하는 경우도 많다.