whirlwind
TDD infected, paranoid
Требуется разработчик, уверенно-владеющий ООП, владеющий (или с прицелом на) TDD.
Требования: тест-код-рефакторинг
Условия: удаленка, оплата за недельную итерацию, вилка 200-500$ от скилла, с перспективой. Для начала рассчитываем на 2 итерации в месяц, так что без напрягов успеем познакомиться.
Для сомневающихся про ООП учитываем что написано тут http://phpclub.ru/talk/threads/Требуется-php-программист-на-удаленку-2000-мес.64963/#post-574261 (предвосхищая типичное "что с предыдущим?", отвечаю - эта вакансия под новые проекты)
Для несомневающихся, присылайте свои примеры 2 связанных интерфейсом классов, разработанных по TDD (то есть на основе тестов - кривых, косых, любых не важно, я все пойму ) ссылки в личку или в этом топике. Если присылать нечего, то предлагаю простое тестовое задание, которое следует сделать на TDD
Дано:
ITransaction::execute пытается выполнить все команды, если какая то команда не выполняется, оно делает каждой предыдущей выполненной команде rollback. Для примера можно взять команду копирования файла, распаковки zip-архива, etc.
PS. Вопрос "мало денег" обсуждаем как минимум после кода.
Требования: тест-код-рефакторинг
Условия: удаленка, оплата за недельную итерацию, вилка 200-500$ от скилла, с перспективой. Для начала рассчитываем на 2 итерации в месяц, так что без напрягов успеем познакомиться.
Для сомневающихся про ООП учитываем что написано тут http://phpclub.ru/talk/threads/Требуется-php-программист-на-удаленку-2000-мес.64963/#post-574261 (предвосхищая типичное "что с предыдущим?", отвечаю - эта вакансия под новые проекты)
Для несомневающихся, присылайте свои примеры 2 связанных интерфейсом классов, разработанных по TDD (то есть на основе тестов - кривых, косых, любых не важно, я все пойму ) ссылки в личку или в этом топике. Если присылать нечего, то предлагаю простое тестовое задание, которое следует сделать на TDD
Дано:
PHP:
interface ICommand {
/**
* Выполнить команду
* @return void
* @throws CommandException
*/
function execute();
/**
* Откатить изменения, выполненные командой
* @return void
*/
function rollback();
}
interface ITransaction {
/**
* Добавить команду
* @param ICommand $cmd
* @return void
*/
function addCommand(ICommand $cmd);
/**
* Выполнить транзакцию
* @return boolean
*/
function execute();
}
PS. Вопрос "мало денег" обсуждаем как минимум после кода.