티스토리 뷰
돌아가기만 하면 되지 구조가 뭐가 중요하냐고 생각하시는 분들은 아마 유지보수의 악몽을 경험해보시지 않은 분들일 것입니다.
실용주의 프로그래머란 책을 읽어보면 깨진 창문 법칙이란 얘기가 나옵니다.
창문이 하나 깨지고 나면 다른 창문이 깨지는걸 대수롭지 않게 여기게 되어, 결국 모든 창문은 깨지게 된단 이야기입니다.
프로그램 코드도 마찬가지입니다. 지금 당장은 이렇게 하는게 문제 해결에 빨라. 우선 이렇게 해놓고 보자. 돌아가니까 내버려두자라고 생각해 대충 처리한 것들은 언제고 문제를 일으키기 마련입니다.
책서 언급한 리팩토링이 필요한 코드의 법칙에는 우리가 개발과정에서 느껴온 실수의 여지를 줄이는 방법이 있습니다.
우리의 머리는 대용량 컴퓨터가 아닙니다. 기억은 지워지기 쉽고, 직관적이지 않은 코드는 실수하기 쉽습니다.
메모의 기술이란 책에서는 이렇게 말합니다.
'기억하기 위해 메모하는 것이 아니라, 잊기 위해 메모하는 것이다'
사람의 기억은 믿을게 못됩니다. 리팩토링을 통해 직관적으로 바뀐 코드의 세세한 동작은 잊어버리셔도 됩니다. 코드를 메모처럼 잊읍시다.
꺼림직한 코드를 작성했을때에 늘 후회하는 상황이 발생했습니다. 언제고 다시 리팩토링 해야 했기 때문이죠. 늘 작성한 코드를 리팩토링 대상으로 놓고 검토하고 수정한다면 유지보수의 악몽에서 벗어날 수 있을거라고 확신합니다.
리팩토링은 실천의 미학이기 때문이죠.
'Book review' 카테고리의 다른 글
실용주의 프로그래머 - 실용주의 마인드 (0) | 2008.01.14 |
---|---|
생각하는 프로그래밍 - 효율에 관한 재밌는 이야기들 (0) | 2008.01.14 |
프로그램은 왜 실패하는가? - 체계적인 디버깅 지침서 (0) | 2008.01.14 |
네트워크를 훔쳐라 - 그들의 심리를 파악하자 (0) | 2008.01.14 |
레이몬드 첸의 윈도우 개발 282 스토리 - 윈도우의 현재를 말해주는 비하인드 스토리 (0) | 2008.01.12 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 조엘 온 소프트웨어
- 게임데브포에버
- 엘키
- 바로가기 프로그램
- SDL
- MS-SQL
- Rails
- ftp
- 임백준
- EasyExec
- RoR
- Ruby on Rails
- 리버스 엔지니어링
- 루비
- CppSQLite
- TraceRoute
- NDC2013
- TDD
- perfmon
- svn
- 게임개발포에버
- EzShortcut
- ruby
- 루비 온 레일즈
- c언어
- SQLite Spy
- 좋은 프로그래머
- 디버깅
- 멀티스레드
- 디자인 패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함