Разработка

Сложность

Сложность высасывает жизнь из разработчиков, затрудняет планирование продуктов, их создание и тестирование, бросает вызовы в сфере безопасности и приводит конечных пользователей и администраторов к разочарованию.

Чем больше количество уровней абстракции используется, тем менее эффективным становится интерфейс.

p.s. Ли Кэмпбел: «Вы должны понимать как минимум на один уровень абстракции ниже того уровня, на котором программируете»

Правила

Конвенции

Первоначально берем конвенции сторонних команд, а в процессе работы будем их переписывать под себя.

Если возникают вопросы, сначала смотрим в код, потому что в коде может быть использовано решение, которое обсуждалось, но не было задокументировано в наших конвенциях. В то же время, иногда код может не отвечать требованиям конвенций (соглашения меняются, поэтому не удивляйтесь вопросам в код-ревью).

Тестирование

Мы пишет ниже указанные виды тестов.

Unit tests:

  • Black box tests - мокаются зависимости класса, метод которого тестируется
  • White box tests - мокаются зависимости метода, который тестируется

Functional tests:

  • White box tests - тестирование на соответствие требованиям со знанием внутренней реализации системы (есть в наличии исходный код).
  • Black box tests - тестирование на соответствие требованиям без знания внутренней реализации системы (согласно технической спецификации).

09.01.2013 14:53