Статьи

Тестовое обучение: начальная коробка игры

Теперь, когда вы немного освоились со своей IDE и самой Java, мы закодируем начальные строки игры в этом уроке .

Что вы узнаете в этом разделе:

  • Получите исходный код с помощью subversion: ‘check out’
  • Переменные разного типа
  • Методы Java с параметрами
  • Переменные с разной видимостью
  • Создание юнит-тестов и их запуск
  • IDE:

    • отлаживать приложение
    • автозавершение
  • конструкции if-then-else

Получить проект

Этот проект не будет доступен в виде zip-файла. Вам необходимо установить клиент Subversion (например, TortoiseSVN для Windows и KDESvn для Linux) или использовать Subversion в вашей IDE. Для NetBeans перейдите в меню Team-> Checkout…

Затем введите следующий URL:

https://timefinder.svn.sourceforge.net/svnroot/timefinder/branches/tdteaching/TestDrivenTeaching2/

Никакие логин или пароль не требуются, только укажите «Локальная папка», чтобы соответствовать вашим потребностям. Откройте проект, если NetBeans спросит вас. Некоторые скриншоты смотрите здесь .

Щелкните правой кнопкой мыши проект-> и выберите Test. Окно модульных тестов должно появиться, и все тесты должны пройти (зеленый).

Получить знания

Откройте класс InitialBlockGame, который находится в пакете с именем de.tdtut.section2. Оглянись немного. Вы, возможно, уже заметили в первой части, что в NetBeans есть специальные символы, которые выглядят серыми: комментарии, которые не влияют на выполнение программы.

переменные

int myVariable;

Это целочисленная переменная, которая может содержать только целочисленные значения, такие как 1,2, -3 и т. Д. Максимальное значение хранится в Integer.MAX_VALUE. Если вы хотите инициализировать переменную, выполните:

myVariable = 3;

Вы можете сделать объявление и инициализацию одновременно:

int myVariable = 3;

Теперь важно изучить тестовый пример, поставляемый со вторым проектом, чтобы лучше понять различные типы и возможные операции. Чтобы запустить тест, щелкните правой кнопкой мыши файл и выберите «Тестовый файл» или нажмите CTRL F6.

Подсказка для последующего использования: если вы создадите дополнительный Java-класс в пакете, щелкнув правой кнопкой мыши на пакет-> New-> Java Class…, вы можете легко сгенерировать новый тестовый файл для него: CTRL SHIFT U

методы

Теперь вы знаете переменные и комментарии, но также заметили, что в предыдущем посте есть блоки, подобные циклу for, определенные фигурными скобками:

public class InitialBlockGame {
...
}

и, например, определение метода

public static void start() {
...
}

Первый блок — это определение класса с именем InitialBlockGame, а второй блок — это метод с именем start без возвращаемого типа, поэтому: void start (). Существуют также методы, такие как move, которые требуют параметров метода.

Переменные — Видимость / Доступ

Если вы объявите переменную, она будет доступна только из этого блока, а также из субблоков. Следующий фрагмент кода должен проиллюстрировать это:

public class InitialBlockGame {
public int x;
...
public void start() {
int test;
// here we can use the test and x variables
}

public void move(int dx, int dy) {
// here we can use the x, dx, and dy variables
// but not the test variable declared within the start() method
}
}

Мы не можем легко создать тестовый пример для этого, потому что, например, использование теста в методе перемещения не будет компилироваться вообще! Но на языке сценариев, таких как Ruby или Groovy, это можно сделать.

Другой важный подход к управлению доступом к переменным или даже методам через общедоступные , защищенные и закрытые ключевые слова будет объяснен в следующем разделе.

Отладка

Чтобы отладить класс Java, щелкните правой кнопкой мыши файл (например, InitialBlockGame) и выберите «Файл отладки» или клавишу CTRL SHIFT F5. Но прежде чем вы должны установить точку останова, например, на линии

Случайный ранд = новый Случайный (123);

Затем пошагово пройдитесь по коду через F8. Исследуйте значение переменной lifeCounter, наведя на нее курсор мыши.

Другой подход заключается в том, чтобы открыть окно Watches через Window-> Debugging-> Watches и добавить к нему lifeCounter (щелкните правой кнопкой мыши -> New Watch…)

Автозаполнение

Просто нажмите CTRL SPACE, например, после «InitialBlockGame». и все переменные и методы будут перечислены:

Это позволяет очень легко и быстро изучать и исследовать неизвестный код (например, библиотеку). Это самая мощная команда, которую предоставляет вам IDE по сравнению с простым текстовым редактором.

Попробуйте вызвать эту команду (CTRL SPACE) в блоке определения класса или после того, как вы ввели «int» в методе, чтобы увидеть, что IDE предоставляет вам, чтобы упростить разработку.

If-Then-Else

Если вы посмотрите на метод move, вы увидите несколько операторов if, например:

if (x + dx >= 0 && x + dx < 10)
x = x + dx;

Это означает, что если изменение перемещения в направлении x, называемое dx, слишком велико, оно не будет применено. То же самое верно для отрицательного DX.

Изучите контрольный пример testMove (), чтобы лучше понять его и поэкспериментировать с кодом.

С http://karussell.wordpress.com/