1. Brook's law
- 프로젝트 공수 산정 시의 manXmonth는 교환 불가능
- 종속 관계에 따른 오버헤드 발생, 교육에 시간 빼앗김
- 일정 지연 시 인원 투입으로 만회하는 것이 아닌 일정을 재조정하자
2. Conway's law
- 아키텍처는 조직을 따른다.
- 아키텍처 설계 후 조직을 편성하라
3. Broken Windows Theory
- 나쁜 코드를 방치하면 소프트웨어 전체를 단기간에 부패시킨다.
- 코드의 좋지 않은 부분이 보이면 즉시 복구시키자.
4. Law of entropy increase
- 코드는 그대로 두면 썩은 코드가 된다.
- 코드 부패의 징후를 신속히 처리하자
[코드 부패의 징후]
경직됨: 변경하기 어려운 것. 종속성을 줄이자
깨지기 쉬움: 변경한 부분과 관련 없는 부분까지 망가질 수 있음
이식성 없음: 환경에 종속되는 부분에서 다른 부분 분리가 어려움
다루기 어려움: 설계 구조에 유연성이 없음(코드) / 개발 환경이 느리고 비효율적(개발 환경)
복잡함: 불필요한 요소가 많음. 나중을 위해 대처하기 쉬운 장치를 미리 심어놓지 말 것
반복: 중복을 피하고 추상화하자
불투명함: 코드를 이해하기 어렵다. 읽는 사람 입장에서 코드를 작성하자
5. 80:10:10 rule
- 80%는 단시간에 실현 가능하지만 10%는 상당한 노력을 요구하고 나머지 10%는 실현 불가능하다.
- 소프트웨어 개발에서 만병통치약은 없다. 전문약을 만들자.
6. Joshua Tree Principle
- 이름이 없는 것은 보이지 않는다.
- 유비쿼터스 언어를 사용하자
7. Second system syndrome
- 소프트웨어의 두 번째 버전에서 기능이 과다되는 경향이 있다.
- 프로그래머는 사용자를 고려하여야 한다.
사용자는 누구인가?
사용자는 무엇을 필요로 하는가?
사용자는 무엇이 필요하다고 생각하고 있는가?
사용자는 무엇을 바라고 있는가?
- 소프트웨어 디자인에서 궁극의 아름다움은 단순함
8. Reivnented wheel, Reinventin the wheel
- 이미 있는데도 만든다.
- 수레바퀴의 재발명을 피하고 본래 해야 할 작업에 주력하자
9. Yak Shaving
- 문제가 줄줄이 발생해 진짜 문제에 도달하지 못한다.
- 야크의 털을 깎는 상태에 빠졌다고 느끼면 본래 목적이 무엇이었는지 떠올리자.
'프로그래밍' 카테고리의 다른 글
[VSCode 에러] 이 시스템에서 스크립트를 실행할 수 없으므로~~~ 해결방법 (0) | 2022.10.26 |
---|---|
Sourcetree 에러: 잘못된 비밀번호 입력으로 저장소 접근 불가할 때 (0) | 2022.10.15 |
Readable 코드를 작성하기 위한 프로그래밍의 원칙 7가지 (0) | 2022.06.03 |
타입을 사용하는 이유 (0) | 2021.11.24 |