Что такое пробный контракт
Что такое пробный контракт
Статья 26. Стандартный Контракт Хоккеиста КХЛ «Пробный Контракт»
1. Пробный Контракт — Контракт между Клубом и Хоккеистом, которого Клуб приглашает для выполнения временной работы с целью определения уровня профессионального мастерства спортсмена и возможности заключения с ним Контракта.
2. Пробный Контракт вправе заключать Хоккеисты, не имеющие контрактных обязательств ни с одним из Клубов КХЛ.
3. Хоккеист, который был ранее выбран на Ярмарке юниоров КХЛ, может заключать Пробный Контракт только с выбравшим его Клубом.
4. Пробные Контракты на период Предсезонного сбора могут заключаться с даты начала Предсезонного сбора и должны заканчиваться не позднее чем за 48 часов до начала Чемпионата КХЛ. В течение Регулярного Чемпионата КХЛ Клуб имеет право заключать Пробные Контракты с Хоккеистами в статусе «Неограниченно свободный агент» на срок не более одного месяца. Такие Пробные Контракты в любом случае должны заканчиваться в срок до 27 декабря. Хоккеисты, подписавшие Пробные Контракты, могут быть включены в один из заявочных списков Клуба с соблюдением требований Спортивного регламента КХЛ и принять участие не более чем в 3 (трех) матчах в составе команд, входящих в систему Клуба, независимо от того, какой по счету это Пробный Контракт с одним и тем же Хоккеистом. (в ред. от 04.07.2018. Протокол заседания Совета директоров ООО «КХЛ» № 85 от 04.07.2018) В течение Регулярного Чемпионата Клуб имеет право заключить Пробный Контракт с одним и тем же Хоккеистом не более двух раз. Клубы, прекратившие участие в Чемпионате, вправе заключать Пробные Контракты с Хоккеистами в статусе «Неограниченно свободный агент» со сроком окончания не позднее 30 апреля текущего хоккейного сезона.
5. Сумма заработной платы (вознаграждения) в Пробном Контракте не может быть менее минимального размера оплаты труда, установленного законодательством Российской Федерации.
6. Ни один Хоккеист не имеет права принимать участие в Предсезонном сборе без наличия либо Контракта Профессионального Хоккеиста КХЛ (одностороннего, двустороннего или трехстороннего), либо Пробного Контракта, должным образом зарегистрированного ЦИБ КХЛ.
7. Пробный Контракт, подписанный Клубом и Хоккеистом, должен быть направлен для регистрации в ЦИБ КХЛ в течение 2 (двух) календарных дней после его подписания сторонами.
8. Если Пробный Контракт не будет зарегистрирован ЦИБ КХЛ, то письменное уведомление о таком решении должно быть отправлено в Клуб и Хоккеисту по факсу и/или электронной почте в течение 2 (двух) календарных дней с момента принятия решения ЦИБ КХЛ. В уведомлении должны быть указаны основания, по которым ЦИБ КХЛ не может утвердить и зарегистрировать данный Пробный Контракт.
9. Хоккеист не имеет права одновременно заключать Пробный Контракт более чем с одним Клубом КХЛ. В случае если Хоккеист одновременно заключает Пробный Контракт с двумя и более Клубами или заключает новый Пробный Контракт с другим Клубом в период действия текущего Пробного Контракта, он подлежит спортивной корпоративной дисквалификации в соответствии с Дисциплинарным регламентом КХЛ сроком на шесть месяцев. Также сроком до шести месяцев подлежит дисквалификации руководитель Клуба Системы соревнований, подписавший Пробный Контракт с Хоккеистом, находящимся на действующем Пробном Контракте с другим Клубом Системы соревнований. (в ред. от 04.07.2018. Протокол заседания Совета директоров ООО «КХЛ» № 85 от 04.07.2018)
10. Пробный Контракт может быть расторгнут в любое время по инициативе любой из сторон без уважительных причин и выплаты компенсации. Контракт считается расторгнутым с момента получения второй стороной Контракта соответствующего уведомления. (в ред. от 04.07.2018. Протокол заседания Совета директоров ООО «КХЛ» № 85 от 04.07.2018)
11. При досрочном расторжении Пробного Контракта Хоккеисту выплачивается заработная плата (вознаграждение) за фактически отработанное время.
12. Хоккеистам, которым был присвоен статус «Закрепленные права» или «Выбранный Игрок» и заключившим Пробные Контракты, по окончании Пробных Контрактов вновь присваиваются статусы «Закрепленные права» или «Выбранный Игрок» соответственно. (в ред. от 04.07.2018. Протокол заседания Совета директоров ООО «КХЛ» № 85 от 04.07.2018)
Унизительный контракт для русского олимпийского чемпиона. Гусев и другие звезды НХЛ, которых может ждать просмотр
Старт тренировочных лагерей в Национальной хоккейной лиге все ближе и ближе, но остается еще множество вопросов, когда речь заходит о неограниченно свободных агентах, остающихся на заокеанском рынке. Сейчас ситуация на нем очень спокойная, и после бурного лета команды лишь мельком обращают внимание на имеющиеся варианты усиления. Тем не менее, несколько очень известных в прошлом хоккеистов продолжают ждать и надеются получить приглашение. Для большинства из них если такое и последует, то будет лишь пробным, испытательным контрактом на период тренинг-кемпа. Если игрок удачно пройдет такой «трай-аут», то сможет рассчитывать на полноценный договор, но, как правило, это мало кому удается.
Среди тех, кто может попытать счастья это сделать, есть и бывшая звезда КХЛ.
н. Никита Гусев
29-летний форвард провел в НХЛ отменный первый сезон и неудачный — второй. Обмен из «Нью-Джерси» во «Флориду» не принес счастья, и все чаще заокеанские журналисты говорят о том, что Никита — классический пример чрезмерно разрекламированного игрока. Мол, для КХЛ он был хорош, но уровень Национальной хоккейной лиги тянет с трудом, хотя полностью списывать его пока рановато.
За «Пантерз» олимпийский чемпион Пхенчхана сыграл достаточно успешно (5 очков в 11 матчах), но команда решила его отпустить и новый контракт не предложила. Понять здесь можно обе стороны: для «Флориды» Гусев не является тем, на кого они готовы делать ставку, а сам нападающий может сетовать на то, что его гоняли по всем тройкам атаки. Нижняя шестерка форвардов в не очень успешной команде — это не сахар, особенно после того, как ты сделал великолепную карьеру в КХЛ и на международном уровне.
Тем не менее, даже среди оставшихся ныне неограниченно свободных агентов Гусев вряд ли будет в первых рядах претендентов на то, чтобы обратить на себя внимание. В таких условиях максимум, что он может получить — это тот самый «трай-аут», когда нужно будет изо всех сил биться на сборах, чтобы получить обычный односторонний контракт на минимальную сумму. Для героя Пхенчхана-2018 все это выглядит несколько унизительно.
Из команд, которые фигурировали в слухах, связанных с Никитой, стоит назвать две — это «Нэшвилл Предаторз» и «Калгари Флэймз». «Хищники» потеряли многих форвардов в нынешнее межсезонье, но адекватных замен почти не сделали. После того, как из команды ушли Калле Ернкрок и Виктор Арвидссон, у «Нэшвилла» есть сразу две свободных позиции в нападении. Риск пригласить Гусева попробовать свои силы будет минимальным, а в случае успеха россиянин может прилично помочь Райану Джохансену и Мэтту Дюшейну набрать нужные обороты.
«Калгари» тоже может попытаться сделать «кражу» и без проблем пригласить Гусева, который должен усилить среднюю шестерку. Менеджмент «Флэймз» уже пригласить на пробный контракт нападающего Алекса Галлана — 28-летнего форварда, который не сыграл ни одного матча в НХЛ, а в фарм-клубе не забивал более одной шайбы за сезон, отдавая предпочтение штрафным минутам.
н. Джеймс Нил
Сейчас уже никто не вспомнит, что когда-то этот нападающий, играя в тройке с Евгением Малкиным, забрасывал 40 шайб за сезон — с тех пор прошло уже 10 лет. С тех пор Нил изо всех сил пытался сохранить свое голевое чутье, но все пошло прахом. В июле его контракт был выкуплен «Эдмонтоном», и теперь 34-летний канадец может рассчитывать лишь на испытательный срок. Впрочем, при должном везении Нил еще будет способен забивать по 10-15 голов за регулярный чемпионат, но другой пользы от него дождаться будет невозможно.
н. Тайлер Эннис
По слухам, у 31-летнего универсала есть несколько предложений из КХЛ, но миниатюрный форвард (рост — 175 см) пока не горит желанием прощаться с НХЛ. В прошлом сезоне он набрал всего 9 (3+6) очков за «Эдмонтон», и о нем привыкли говорить, как о нападающем, который играет недостаточно весомую роль. Эннису не привыкать доказывать, что люди ошибаются насчет него, так что, возможно, кто-то бросит ему косточку, чтобы посмотреть, что он способен сделать.
н. Трэвис Зэйджак
Многие полагали, что 36-летний центрфорвард после долгих лет в «Нью-Джерси» переподпишется в «Айлендерс», где генеральным менеджером работает старый знакомый Лу Ламорелло, и где Трэвис заканчивал прошлый сезон. Однако когда пару недель назад «Островитяне» объявили о последних подписанных контрактах, Зэйджака там не оказалось. Зэйджак уже достаточно давно не вносит ощутимого вклада в атаку, набирая малое количество очков, но его опыт, игра в обороне и на вбрасываниях по-прежнему имеют ценность.
з. Сами Ватанен
На протяжении большей части своей карьеры финн был защитником, игравшим по 20 и более минут за матч в НХЛ. Ватанен был способен приносить пользу в самых разных ситуациях, но травмы помешали ему раскрыться. Финн опустился на уровень ниже, что, впрочем, может дать ему шанс найти работу среди тех, кто не требует многого. Невысокая цена и правый хват будут дополнительными преимуществами, хотя и вариант с отъездом в Европу тоже вероятен.
⚡️ Быстрее всего рассказывают о главных новостях спорта ЗДЕСЬ
пробный договор
Смотреть что такое «пробный договор» в других словарях:
Ученик — Отношения между У. и лицами, у которых они обучаются ремеслам или торговле, отличаются крайнею сложностью, а потому не легко поддаются юридической регламентации С одной стороны, есть тут элемент найма хозяина мастера для обучения ремеслу или… … Энциклопедический словарь Ф.А. Брокгауза и И.А. Ефрона
Маршалловы Острова — Республика Маршалловы Острова Aolepān Aorōkin M̧ajeļ (марш.) Republic of the Marshall Islands (англ.) … Википедия
Либерализм — (Liberalism) Либерализм это политическое и филосовское учение, которое выступает за снижение вмешательства государства в жизнь граждан Основы либерализма, происхождение, формы либерализма, развитие либеральной мысли, современный либерализм,… … Энциклопедия инвестора
Фьючерс — (Futures) Фьючерс это срочный биржевой контракт на покупку рыночного актива Что такое фьючерс, фьючерсный контракт, рынок фьючерсов, торговля фьючерсами, стратегия фьючерс, виды ценных бумаг на фьючерсном рынке, хеджирование рисков с помощью… … Энциклопедия инвестора
Воронежский троллейбус — Воронежский троллейбус … Википедия
Новокосино (станция метро) — У этого термина существуют и другие значения, см. Новокосино. Координаты: 55°44′42.72″ с. ш. 37°51′50.4″ в. д. / 55.7452° с. ш … Википедия
Артель — Слово восточного происхождения, от тюркского слова орта община, середина, что, между прочим, доказывается и употреблением этого слова в том же смысле, который оно имеет у нас в некоторых восточных языках, например в киргизском; у нас оно впервые… … Энциклопедический словарь Ф.А. Брокгауза и И.А. Ефрона
Кирибати — У этого термина существуют и другие значения, см. Кирибати (значения). Республика Кирибати Ribaberikin Kiribati (кир.) Republic of Kiribati (англ.) … Википедия
Фактический брак — Эту страницу предлагается переименовать в Сожительство, Незарегистрированный брак или Фактические брачные отношения. Пояснение причин и обсуждение на странице Википедия:К переименованию/22 июня 2012. Возможно, её текущее название не… … Википедия
Что такое пробный рабочий день и как его организовать
Один из способов сократить количество неудач первых рабочих недель — практика тестового рабочего дня или, как его еще называют, гостевого периода. Эта практика пришла к нам из иностранного опыта, но ее уже опробовали на себе в России некоторые ИТ-компании, креативные агентства и отдельные представители сферы ретейла. В частности, такую практику применяют компании Adventum, Dodo Pizza и Fintech. Мы поинтересовались их опытом.
Тестовый день — это возможность для потенциального сотрудника примерить на себя новую должность и задачи, а руководитель и HR-менеджер видят новичка в деле.
Выгоды новичка
Даже если собеседования прошли прекрасно, новая работа — всё равно кот в мешке. О некоторых вещах можно узнать только в процессе.
Тестовый день позволяет:
Выгоды работодателя
Даже самый блестящий кандидат — все равно темная лошадка. Продвинутые соискатели давно освоили способы понравиться на собеседовании, а для тестового задания иногда используют помощь друзей.
Тестовый день позволяет:
Главная выгода тестового дня (или тестового периода): и у компании, и у будущего сотрудника есть возможность понаблюдать друг за другом и понять, подходят ли они друг другу в долгосрочной перспективе.
Как подготовиться к тестовому дню?
Рекомендации Андрея Будаева, HR-директора агентства performance-маркетинга Adventum по организации тестового дня: «Тестовый день в России пока не регламентируется законом, поэтому здесь есть два варианта — либо договориться с кандидатом, чтобы приравнять отработанные часы в компании к тестовому заданию, либо в случае успеха засчитать день в качестве первого рабочего дня постфактум. Также мы учитываем вопросы конфиденциальности — компания должна заранее продумать, какой информацией человек может пользоваться в тестовый день, а какой — нет. Будьте осторожнее с доступом к корпоративным базам данных!».
Как тестовые дни организуют в разных компаниях
Виталий Калинин, HR-менеджер Dodo Pizza:
«Мы считаем, что не только компания выбирает кандидата, но и кандидат компанию. Мы ищем увлеченных людей с внутренней мотивацией, для которых важно, с кем и где они будут работать, какую роль выполнять. Многие вещи не проговоришь на собеседовании, некоторые не проверишь (например, легкость коммуникации с командой). Для этих задач мы используем тестовый день — инструмент, который позволяет сделать потенциального работодателя более открытым.
Мы не скрываем ничего — если в команде ребята разговаривают на повышенных тонах друг с другом, кандидат это услышит. Если у нас в системе есть участки «страшного» кода, кандидат это увидит. И в конце он сможет взвешенно принять решение, подходит ли ему эта работа. Мы очень много вкладываем в сотрудников, поэтому максимально глубоко подходим к выбору.
Тестовый день мы используем для вакансий в продуктовое направление и в разработку. Вот как это происходит у разработчиков. Кандидат приходит в команду на стендап, знакомится со всеми. Потом садится в пару к одному из разработчиков команды, и тот знакомит его с архитектурой системы, бизнес-доменом, погружает в задачу, которую они взяли на стендапе. Дальше кандидат в паре с разработчиком решают эту задачу — проводят исследования, общаются с product-owner, если необходимо, кодят, покрывают код тестами. В общем, происходит обычный рабочий процесс. Потом они вместе с командой идут на обед. Когда задача закончена, HR-менеджер и ИТ-директор проводят с кандидатом финальную беседу, собрав перед этим мнение членов команды о нем.
Тестовый день в продуктовой команде, которая разрабатывает новые рецепты пицц, проходит немного иначе. Кандидат готовится заранее: его задача — презентовать команде несколько концептов новых продуктов. Заодно в процессе он знакомится с командой.
Юридически тестовый день мы оформляем как соглашение о стажировке. Там есть пункт о неразглашении информации».
Анна Акчурина, руководитель службы по работе с персоналом Fintech:
«Мы используем тестовый день для вакансий операторов кол-центра. В этот день проводим приветственный тренинг, рассказываем о работе, компании, знакомим с руководителем, коллективом и оставляем за стажером право выбора до конца дня. Если вы только планируете попробовать тестовый день, нужно четко проработать риски компании, цели этого дня, решить, кто будет отвечать за стажера в этот день. Обязательно нужно расписать программу, чем занять человека. Если кандидаты по итогам тестового дня отказываются от работы, важно анализировать причины, чтобы понять, что именно влияет на принятие решения, и быть готовыми меняться. Ну и конечно, во избежание репутационных рисков в случае отказа кандидату нужно сразу объяснять ему, что тестовый день — тестовый не только для него, но и для работодателя, вы тоже выбираете и обдумываете.
В каких ситуациях не стоит использовать тестовые дни?
У тестового дня много плюсов, но есть и риски. Самые главные из них связаны с утечкой данных (практику тестовых дней еще проще использовать для промышленного шпионажа, чем внедрение под видом штатного сотрудника на постоянной основе) и с репутационными рисками (негативные отзывы от кандидатов, которые плохо проявили себя во время тестового дня или сами разочаровались в компании).
Кроме того, в некоторых ситуациях проводить тестовые дни бессмысленно — если в компании или конкретном подразделении невозможно отладить процессы, необходимые для эффективного тестового дня.
Поэтому не стоит использовать тестовые дни, если:
Еще один случай, когда практика тестовых дней не подходит: если вы ищете людей на стартовые позиции, где сначала требуется обучение, чтобы новички вышли на нужную производительность труда. Тогда тестовый день не будет показательным, потому что вы в любом случае сможете сделать выводы о сотруднике только по итогам обучения».
Как оформить пробный рабочий день
Тестовый день — отличная возможность для двух сторон узнать друг друга получше, принять взвешенное решение о долгосрочном партнерстве. Но не стоит забывать о юридических рисках.
Мнение Вячеслава Филиппова, эксперта по трудовому праву:
«Поскольку работодатель допускает соискателя до работы, тот считается работником со всеми вытекающими отсюда последствиями. Вдруг в течение тестового дня он, например, поскользнется и сломает ногу? Надзорные органы будут рассматривать этот инцидент с точки зрения охраны труда. Если тестовому сотруднику не провели инструктаж по технике безопасности, это значит, что компания нарушила закон. А если инструктаж провели, то это тем более докажет, что речь шла о трудовых отношениях.
Идеального варианта для оформления тестового дня не существует. Компания может привлечь сотрудника по гражданско-правовому договору на один день. Но в случае спора с таким соискателем придется доказывать, что договор не подменял трудовой.
В Трудовом кодексе есть норма, по смыслу которой можно оформить соглашение о прохождении испытания до заключения трудового договора (ч. 2 ст. 70 ТК РФ). В этом случае у работодателя будет три дня, чтобы оценить сотрудника до того, как принимать. Но этот способ работодатели не любят, потому что, если работник не подойдет, его придется уволить по всем правилам как не выдержавшего испытательный срок: издать приказ, ознакомить с ним и так далее. А если работник сам решит, что эта работа не для него, и просто уйдет без объяснений, придется его разыскивать, чтобы он подписал документы.
Как в случае оформления пробного дня гражданско-правовым договором, так и в случае оформления испытания, отработанный день нужно оплатить».
Успешных вам тестовых дней и скорейшего закрытия вакансий!
Контракты vs Юнит тесты
DISCLAIMER: Эта заметка подразумевает наличие у читателя базовых знаний о юнит тестах, в чем автор этих строк не сомневается, а также базовых знаний о проектирование по контракту, которые можно пополнить начиная отсюда.
На одном из выступлений, посвященных проектированию по контракту, один из моих коллег задал вполне резонный вопрос о связи контрактов и юнит тестов. Постусловия в контракте класса, как и юнит тесты говорят о гарантиях класса перед его клиентами, а поскольку юнит тесты являются в этом вопросе более мощным механизмом (сложные постусловия выразить в виде контрактов не всегда просто, а иногда и невозможно), то возникает вопрос о необходимости постусловий.
Итак, давайте вкратце рассмотрим, в каком именно месте находится пересечение контрактов и юнит тестов, и постараемся ответить на вопрос: являются ли постусловия избыточными при наличии юнит тестов?
Контракты
Проблема любого кода заключается в том, что он не самодостаточен. Конечно же, глядя на код сразу же можно увидеть неоптимальность решения, найти банальные глупости или некорректное использование идиом языка программирования, но очень сложно ответить на главный вопрос: делает ли этот код то, ради чего он был написан или нет?
Проблема заключается в том, что код сам по себе не является корректным или не корректным, понятие корректности применимо только в связке: код – спецификация. (Подробнее об этом можно почитать в статье: Проектирование по контракту. Корректность ПО.)
Обычно эта проблема решается с помощью дублирования информации в комментариях, которые очень быстро устаревают и начинают противоречить самому коду; спецификация может быть даже формальной и располагаться на какой-нибудь wiki-странице; она может выражаться в виде утверждений, а также для этих целей могут использоваться юнит тесты.
Последний способ мы рассмотрим позднее, а пока перейдем к предпоследнему: использованию контрактов.
Контракты предназначены для задания спецификации непосредственно в коде в форме утверждений: предусловий, постусловий, инвариантов и утверждений. Сейчас нас не интересуют все тонкости этих вопросов, и на данный момент нам будет достаточно рассмотреть лишь предусловия и постусловия.
Предусловия метода класса B говорят о контракте клиента: что должны выполнить клиенты класса B, чтобы класс B приступил к выполнению своих обязанностей. Постусловия же методов класса B говорят о контракте класса B перед его клиентами: что гарантирует выполнить класс B, если его клиенты выполнили свою часть контракта.
Примером контракта может служить контракт метода Add интерфейса IList: если клиент интерфейса IList передаст не нулевой объект (предусловие), то он будет добавлен в данную коллекцию и количество элементов (Count) увеличится на 1 (постусловие).
Юнит тесты
Юнит тесты являются весьма популярной ныне техникой, при умелом использовании которой разработчик может получить ряд плюшек, начиная от упрощения процесса рефакторинга, заканчивая улучшением дизайна приложения за счет повышения модульности и ослабления связности.
Еще одним свойством юнит тестов является то, что они по своей сути описывают предполагаемое поведение классов или модулей, что вполне может рассматриваться как их спецификация. Тесты являются замечательной отправной точкой для нового члена команды, который хочет разобраться с работой конкретного класса, ведь с их помощью он увидит способ использования класса, необходимые входные данные и предполагаемые результаты.
Именно последний аспект юнит тестов так сильно напоминает предусловия и постусловия контракта класса. На самом деле, сходство, безусловно, есть, но есть и важные отличия.
Контракты – декларативны: они описывают гарантии класса перед его клиентами на высоком уровне, но они ничего не говорят, как эти гарантии обеспечиваются. Юнит тесты – императивны: они описывают множество шагов, которые должен выполнить класс или метод, чтобы получить необходимые результаты.
Контракты – описывают гарантии класса перед его клиентами, а юнит тесты обеспечивают выполнение этих гарантий.
«Падающий» юнит тест, как и нарушение постусловия, является багом в коде класса, а значит, клиенты наших классов никогда не должны столкнуться с нарушением предусловия. Разработчик класса никак не может гарантировать выполнение предусловий своими клиентами, но он может постараться выполнить свою часть контракта и обеспечить выполнение постусловий. Исключение, возникающее при нарушении постусловия – это такая себе страховка для клиента, которой он никогда не должен воспользоваться. Если метод по какой-то причине не может выполнить свою работу, то он должен четко сигнализировать своим клиентам с помощью соответствующего типа исключения.
Контракты, в отличие от юнит тестов всегда доступны клиентам, и с их помощью клиент может значительно быстрее понять, что ожидать от класса или метода. Даже когда речь идет о внутренней разработке контракты являются более предпочтительным способом описания намерений кода, в то время как на долю юнит тестов останется гарантия их выполнения.
Практический пример. Контракты в интерфейсах
Необходимость в дополнительных библиотеках для контрактного программирования связана еще и с тем, что системы типов большинства современных языков не столь четко выражают намерения программиста, как хотелось бы. Можно себе только представить насколько уменьшилось бы количество проверок аргументов, будь в нашем распоряжении non-nullable reference типы как в языке Eiffel или в функциональных языках.
Система типов является первым и самым важным средством передачи намерений, однако выразить свои намерения бывает довольно сложно, особенно когда речь касается интерфейсов. Интерфейс моделирует некоторую абстракцию, и каждый его метод обладает определенной семантикой, понять которую можно с помощью его имени, набора аргументов и документации. Другими, не менее важными источниками спецификации интерфейсов могут служить контракты, и, в некотором роде, и юнит тесты.
Давайте рассмотрим метод Add интерфейса IList, которые были однажды участниками одной из заметок:
Глядя лишь на имя метода, его параметры, а также на документацию нельзя четко ответить на вопрос о том, какое постусловие метода, т.е. что может ожидать вызывающий код и что должен обеспечить класс, реализующий этот контракт. Обязательно ли должен быть добавлен элемент и только один, или нет. Глядя на контракт – это очевидно, а вот без него понять это очень сложно.
Конечно, в этом вопросе могут помочь юнит тесты поставщика интерфейса, но проблема здесь заключается в том, что может существовать десятки реализаций интерфейса от разных производителей, что делает юнит тесты не лучшим источником спецификации.
Контракты интерфейсов являются особенно полезными, поскольку основной способ понимания того, для чего служит тот или иной метод класса не работает для интерфейсов. Чтобы понять назначение (семантику) метода класса мы используем reverse engineering, однако этот процесс осложняется для интерфейсов, поскольку для этого нам нужно проанализировать все возможные реализации.
Контракты же дают дополнительную информацию, которую сможет использовать клиент интерфейса, и, что не менее важно, класс, реализующий этот интерфейс.
Заключение
Контракты и юнит тесты не являются конкурентами друг другу, даже несмотря на то, что и то и другое может использоваться в качестве выражения спецификации. У юнит тестов существует масса забот, в реальной системе их будет довольно много и выкусывать из них элементы спецификации возможно, но не так и просто. Любой инструмент следует использовать по назначению, и наши два героя не исключение.
Контракты – описывают абстракцию и ничего не говорят о том, как она устроена. Юнит тесты, в свою очередь, гарантируют, что реализация соответствует этому описанию и что гарантии, описанные в контракте, всегда выполняются.