나는 아닌데…

아니긴 뭐가 아닌가.

개발자라면 누구나 다 코드를 써내려가기 전 머리 속에서 간단한 테스트가 휘리릭 만들어진다. 이런 조건을 가진 경우 이렇게 액션이 일어나면 이런 결과가 나오겠구나. 그리고 코드를 몇줄 써내려 가고, 코드를 눈으로 따라 보면서 역시 머리 속에서 테스트가 돌아간다. OK. 이러면 잘 돌아가겠다. 생각이 들면 다음 기능으로. 아니면, 이거 좀 이상한데, 여기서 잘못된 값이 나오겠다라고 생각하고 수정으로 들어간다.

매우 짧고, 매우 불안정하며, 실수하기 쉽고, 용량이 감당이 안되서 결국 엉망으로 테스트가 돌아가게 되서 그렇지, 모든 코딩과정에는 머리 속에서 함께 테스트가 일어나기 마련이다.

사람의 두뇌라는게 매우 빠르게 복잡한 사고를 할 수 있기는 하지만, 양이 늘어나면 감당이 안되고 병렬로 처리도 잘 안되고 오류도 잘 나기 마련이다. 그래서 그 머리 속에서 일어나는 그런 코드를 보면서 하는 인간지능 TDD를, 밖으로 끄집어 내서 코드로 만들어버리면, 실수도 안하고 아무리 길고 복잡해도 불평한번 없이 알아서 수행해주는 컴퓨터가 그 귀찮은 일을 대신 해주는 것이다. 그런 사이 개발자는 맘편히 다른 문제에 더 집중할 수 있고.

어짜피 테스트코드를 사용하는 TDD를 못하는 사람이라면, 머리 속으로도 비슷한 작업이 그다지 잘 돌아갈 것이라고 생각되지 않는다. 그나마 두뇌의 스트레스를 줄여주는 쪽으로 하는게 결국 결과가 낫지 않을까?

코딩이란 걸 시작한 이후로 쭉 해온 습관이라 그럭저럭 돌아가는 인간지능 TDD를, 별로 안만들어봐서 어색한 코드로 표현하는 불편이 있긴 하지만 자꾸 노력해서 인간-컴퓨터 협력 TDD로 바꾸면 인생이 편해질 거다. 켄트 벡의 얘기대로 "맘편하게 잠자리에 들 수 있다". 맘편하게 데이트에 나갈 수 있고, 맘편히 휴가를, 맘편하게 가족과 시간을…

 

책에 들어갈 TDD 내용 좀 쉽게 설명하려고 생각해 본건데.. 좀 억지스러운가?

영회한테 배운 제목 낚시 연습으로는 뭐 괜찮은 듯.

Related posts:

  1. 테스트 주도 개발 TDD 실천법과 도구 – 채수원
  2. 알면서 왜 안할까? TDD
  3. 유쾌한 이슈처리 재촉 메일
  4. TDD와 TLP
  5. 오픈소스 소프트웨어에서 오픈소스 코드가 가지는 의미는?
  6. TDD 안티 패턴

Facebook comments:

to “모든 개발자는 사실 TDD를 하고 있다”

  1. Hi there! Quick question that’s totally off topic. Do you know how to make your site mobile friendly? My website looks weird when viewing from my iphone 4. I’m trying to find a template or plugin that might be able to correct this issue. If you have any recommendations, please share. Appreciate it!

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha