리������링��� ������ ������������ ��������������� ��������� ���������를 ���는 ���������. ��������� 리������링��� ���동����� ������ ��� ���는 ������ ��������� ��������� ���더����� ��������� ������������ ������������. 모�� ���능��� 리������링��� ���동����� ������는 ������ �����는데는 ����� ��������� ���릴 ���������.
��는 ��������� ����������� 보��� ���는���. ��는 내��� 리������리를 ���는 ������ ��������� ���더�����, ������ ���������는 ����������밍 �����를 ������������� ���������������는 ������ �����������. ��������� 많��� ����������머들��� ���념���는 ��대�����는 ��������� 놀������ ���������. ��������� ���문���, ��� ���러��������� 대��� ������를 ���명���만��� ��������� ������.
The Value of Self-testing Code ¶
����������머들��� ��������� ���는 ������ ���만��� ������보면, ������ �����를 ���는 ��������� ������ 부�������� 대부����� ��������� 디�������� �����������. ���리��� �����를 ���는 데 많��� ��������� 보내��� ���������는 ������ ���방������. 모�� ����������머들��� �����를 ���느냐��� 밤�������� ���������들��� ����� ��� ��������� ��������� ������ ���������. ^^; ��������� ����� �����를 �������� ��������� ���른 ��������� �������� ������ ���능������ ������. ��������� ��면 �����를 ���는데 많��� ��������� �����������.
������������� self-testing code����� ������ ������������ ��� ������는 OOPSLA '92��� ��� ���������부���������. ������ �������� (���마�� Dave Thomas)"��������는 ������ ��������� ��������������를 ��������� ��������� ������" ���는 말��� ������. ��� 말��� ���������를 ������������ ������ ������ 방������� ������������. ��는 모�� ����������� �������� ��������를 ������������는 메�����들 (test��� ������.)들��� ���������� 만들������.
������ ��는 increment development��������� ���������, ��는 매번 increment ��� ���료������ ��������들��� test method들��� ������������. ������ ����� �����������는 ��� ������������, ���리는 ���리��� increment ������는 ������ �����������������. ������������ ��������� 는 ��� ������������ ��������. ������만 ���������들��� ������������ ���������만, ���������를 ���는 ������ ��������� ��������� ������������. ��������� 내��� ������������ ���는 모�� ���������들��� console ��� ������를 ������������� 만들��������� ���문������. ��는 ��� ������른 ���람������, ��는 ������ ��������� ������ ��� ��������� ������ �����������. ��는 ��� ��������들��� ���린��� ������는 ������ ���������는 대���, ������������ ���������를 ������������� ������.내��� ��������� ��������� �������� 내��� ���대���는 ������를 ������������, ��� �����를 ���������는 ���������. ���, ��는 모�� ��������들��� test method를 ��������� ��� ���������, 모�� ������ ��� ��면 ������ 'OK' ��� ��������는 ������ ���������면 ��������. ��� ��������는 ������ �������� ������ ��������� ���������를 ������.
모�� ������������ ���동��������는��� ������������ ���������들��� ������를 ��������� ����� �������� ������������� ������.
������ ���������는 ��������� 만�������� ���������������. ��는 ��������� ��� ��� 마��� ���������를 ������.���리��� ��� ��는 �����를 바��바�� ������낼 ��� ���������. ��는 내��� 디�������� ���는데 ���리 많��� ��������� ����������� ������������ ������ ��������. 만��� 내��� ������ ������������ ������ ������������� ���, �������� ���는 �����를 ������������ ������, ���������를 ��������� ��� 바�� 볼 ��� ���������.
��� ��������� �������������� ��는 ������������ ��� 더 ������������ ��������. increment��� ��������를 ������리는 대������, ��는 ������마��� ���능��� ��������� ��� 마��� ���������를 ������. 매번 ��는 ��� ���능들��� ������ ������, ���들��� 대��� ���������들��� ������������. ��� ������ ��는 디�������� �������������� ����������� ���������.
test suite는 �����를 ���는 ��������� ���������는 ��������� ����� ���������������.
물�� ���른 ���들�� ��������� ��� ��������� 따르���� ��������는 ������ ������ ������. ��������� �����를 만��는 ������ ��� ������ 많���.
���리��� ��������� �������� ����������밍 �����를 높������는 ������ ���������보��� ������면 self-testing �����는 ���람들��� ��������������� 못������. ���리��� ������������ ���동������면 ��������� ���루��� ���������. ������만 ������������ ���동��������면 ��������� �����를 ���는 ������ ��� ���미���는 ������ �� ���������.
���리��� ��������� �������� ����������밍 �����를 높������는 ������ ���������보��� ������면 self-testing �����는 ���람들��� ��������������� 못������. ���리��� ������������ ���동������면 ��������� ���루��� ���������. ������만 ������������ ���동��������면 ��������� �����를 ���는 ������ ��� ���미���는 ������ �� ���������.
������ ��������� �����를 ������������ ������ ������ ������ ���는 ����������밍��� ������������ ���������. ���떤 ���능��� ��������������� ���, ��������� �����를 ���������는 �������� ������������. ��������� ����������� ���는 ������ ���������. ��� ���능��� ������������ ��������� ���떤 ���들��� ������������ ���는��� �������������� 물���보는 ������ �����. ���리��� ��������� �����를 ���는 ������ ������보���는 ������������������ ��������� ��� ������ ���������. (���리��� ��������� �������� ������ ���������)
��������� �����는 ExtremeProgramming ��� ��������� 부��������. Beck, XP. ��� �������� ��르��� ������른 ������������ ����������머들������ 마������문��� ������ ���������. ������만, extreme programmer들��� ������������ 대��� 매��� ���������������. ���들��� ���능��� ��� ������������������ ��르��� ����������� ���������, ���들��� ���������들��� ��������� ���마 ��� ��� ���는 ��� ��르��� ��� ��� ������� �������� ������ ������.
�������������� ���������는 ����������� 본���. ���� 내��� self-testing code를 ���������는 ������ 모��������� ��������� �������� ���������더�����, ��������� ��� ������ ��������� ���������. ��� ������ Refactoring��� ������ ���������. Refactoring��� test를 ������������. 만��� Refactoring ������ ���������면, test code를 ������������ ������.
Refactoring