Встречается на собеседованиях • сегодня

Расскажи что такое условие контракта

Условие контракта (contractual condition) в Java — это утверждение о состоянии программы в определенный момент выполнения, которое должно быть истинным. Оно помогает гарантировать корректность кода и выявлять ошибки на ранних этапах.

Основные виды:

  • Предусловия (preconditions) — проверки перед выполнением метода (например, валидация входных параметров).
  • Постусловия (postconditions) — проверки после выполнения метода (например, проверка результата).
  • Инварианты (invariants) — условия, которые должны выполняться на протяжении всего времени жизни объекта.

Пример с assert:

java
public int divide(int a, int b) {
    // Предусловие
    assert b != 0 : "Divisor cannot be zero";
    int result = a / b;
    // Постусловие
    assert result * b == a : "Division result is incorrect";
    return result;
}

Для серьезных проектов лучше использовать библиотеки вроде Guava Preconditions или Spring Assert.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы