Экстремальное программирование. Разработка через тестирование. Кент Бек
Чтение книги онлайн.

Читать онлайн книгу Экстремальное программирование. Разработка через тестирование - Кент Бек страница 9

СКАЧАТЬ компилироваться, пока мы не изменим объявление метода Dollar.times():

      Dollar

      Dollar times(int multiplier) {

      amount *= multiplier;

      return null;

      }

      Теперь тест компилируется, но не работает. И это тоже прогресс! Чтобы заставить его работать, придется возвращать новый объект Dollar с правильным значением:

      Dollar

      Dollar times(int multiplier) {

      return new Dollar(amount * multiplier);

      }

      $5 + 1 °CHF = $10, если курс обмена 2:1

      $5 * 2 = $10

      Сделать переменную amount закрытым членом класса

      Побочные эффекты в классе Dollar?

      Округление денежных величин?

      В главе 1, когда мы заставляли тест работать, мы начинали с заготовки и постепенно улучшали код, пока он не стал полноценным. Теперь мы написали сразу правильную реализацию и молились, пока выполнялись тесты (довольно короткие молитвы, честно говоря – выполнение тестов занимает миллисекунды). Нам повезло, тесты выполнились успешно, и мы вычеркнули еще один пункт.

      Конец ознакомительного фрагмента.

      Текст предоставлен ООО «ЛитРес».

      Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

      Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

      Примечания

      1

      Бек К. Экстремальное программирование. СПб.: Питер, 2002. ISBN 5-94723-032-1.

      2

      Подробнее о подсистеме отчетов рассказано на с2.com/doc/oopsla91.html.

      3

      USD – доллары США, CHF – швейцарские франки. – Примеч. пер.

      4

      Название метода times() можно перевести на русский как «умножить на». – Примеч. пер.

      5

      Код с душком (code that smells) – распространенная в XP метафора, означающая плохой код (содержащий дублирование). – Примеч. пер.

      6

      Имеется в виду индикатор успешного выполнения тестов в среде JUnit, имеющий форму полосы. Если все тесты выполнились успешно, полоса становится зеленой. Если хотя бы один тест потерпел неудачу, полоса становится красной. – Примеч. пер.

iVBORw0KGgoAAAANSUhEUgAAAj8AAAB5CAIAAABZUNc4AAAACXBIWXMAAA7EAAAOxAGVKw4bAAANnklEQVR42u2dP28cyRXE71sYsL/LQd/i9B1OgQ3HOji2zdB2QAW2IxF3oelQB0bngAKU8ZydGZ2BDRQRzOgCCyg8d/fMrqT9MyP+Cg/CbG/v7G7X1Kt+3bPiFw8AAADA2vAFQwAAAAD3AgAAAE7hXr/8xa8IgiAIYjmxq3v9+je/JdYVsAY7BAR9xgThXsiPgB0CgnAvAvkRsANBBO5FID/YISCIwL2QHwE7BAThXgTyI2AHggjci0B+sENAEIF7IT/GAXYICMK9CORH/H/84/KfEsibN9+//OZ39/f3P/30H9hBPsRq3Eu6dbc//fkv0XMeEsuU3w8//Esc/fjjv82g0m4eEh8U79698wX/88///f0f/rgXdqSdKqJI7Ntvv2PAlyAfKaVmSMlnd+qJhbpXozpiFe5lKWJdy2EH91qFe1X57F52Ewt1L89Dkwf1VCYpmplae+mvBOpu79+/z0N1a97d7W/efO/6wBeKTpLOPq3TcT2J2/0qt+sT+r0Cn+cpu5fmjM2EQ9VzRkmE5iX39/c9L8OhDsUeXr/Q51fPUJzrRJ8h5Kqz+vQXYdOobsns/TXWOIG/rF+lbxd70EMf3z+i+dj1q239mgoP2o4G84nulYJPb9pf/x4rfeapr0/s0b08vB7t5gpPOT7FV+BTKcuFKR3DwvHcS6w4T0Vj1rkeWtt6Vlymv3NHCOuzYRWkTmUl1+tmq3tlGdPtyS9NnnrK7mVdRXt//dvf89DU2MA8YqZs61BPuZeTsk9eT2Je9NZ+00w18o5NRq6F4/Aaq9+0nrD5JD553n0X95r6mklPR3AvS0CfxJtt9t0p9xp+fXLfHt2rmR/bonwJ6SlxsZWvXKg13fklEHEk98rkIhPqmn3Mlve301kPM0+Zd69EVea8e9UaouYaXWG4VzP1i06chT3vq441715TQ924Vz25bVKvsh/0Cy9b3UvnmbrGpr51LpicvJ52q3tNfc1aFx7avZqvnDQ35V7Dr0/u2+++ly/jRj7DNDjkqy5BZYmC1cijuleqqH5xpqa89Bc3zmsW1bx7VZ9r3GtqOcszcV9n1F5TtZfHKpnOw1Xdy6NkEfZl09RQm1lfCXGvRvNZIRnuug3dq+aLakLNNVbPo0+ewigeEHvIpbuLezVfM/3Vrg4f5A0f7V7NJ8/nb6YjIWv49cl9e6y9PA9z+V7l01A55Kteq80C+3D+QRxw38vkuXDeWnt50q3OU1tWaXdPLyLvXnv5YW3XJ2wMD/eKuiy5qdrLEq0L/fNDnRU2n6GvvZqbzj+o9vKH8SLh1trLUxY39rWXvXPH2qv5mnUVIbsdR669GkL72mv49cl9e3SvGI8GeWvtNeSL2msR7pW967oi7AXfft/Ljc00ZGhITjHmsqabeffyGmafUvUxMl3CverWoxic2vdyf9dSuwx1jbhXTu6tKW8J5JrxvpcXVebdy8d+0+E11r+7t7VSfPf7XnVeNVN7DVcR+l3Yg+57+SsnRerd1T7lXsOvT+47RO2VKzz7XtKORnsrX3Xfy3Jj3+vEv/dyQpm55zDOsdW98oOkLDPu4l5Ne3at/cFwrzp5rKPa33PYdN461FPu5cRaby+0Pvt7DndcOdzlnsNckO8f0btX5jTNDm69t2jqsswLD+RePTyMdZ3QN45Oudfw65P79r7vlVEd3nM4z1djYNxzeDz3IvjPAj7LqAunJ2enmSMSyAeCcC/kR+BeBPLBvQjkR8AOBBG4F4H8YIeAIAL3Qn4E7BAQhHsRyI+AHQgicC8C+cEOAUEE7oX8GAfYISDoabsXQRAEQ СКАЧАТЬ