Мы сейчас входим на территорию обобщений. Это естественный процесс, поскольку мы добавляем все больше и больше тестов, чтобы наш код стал более общим; но после…
В сегодняшнем сценарии if выбирает другое поведение в зависимости от типа объекта. Мы должны определить «тип» очень вяло; например, это может быть: класс объекта или…
Майкл Фезерс представил свою повторяющуюся идею выяснить, какие элементы дизайна меняются вместе: его цель — выяснить, какие классы или методы действительно связаны, путем анализа эмпирических…
В сегодняшнем (повторяющемся) сценарии метод изменяет состояние объекта и одновременно возвращает что-то. В этом случае метод является гибридом между: запрос , который позволяет получить часть…
Обработка исключений — отличная практика для любой методологии разработки программного обеспечения. Будь то разработка на основе тестов, гибкие спринты или хакерская сессия со старым добрым…
Существует высказывание Миско Хевери, которое я разделяю (и, вероятно, неправильно цитирую) здесь: Единственным приемлемым оправданием отсутствия тестов является то, что вы не знаете, как тестировать:…
Это пост, не зависящий от языка: он действителен для каждого объектно-ориентированного императивного языка, такого как Java, C #, PHP. Начнем с самого начала: адаптер веб-службы…
Предположим, у вас есть класс God, который полон операторов if и case или логических флагов. Многие рефакторинги пытаются разделить обязанности на более мелкие объекты: методы,…
Иногда перехват исключения может быть преобразован в предварительную проверку, которая в первую очередь исключает возникновение исключения. Затем код вызывается только в обычном случае, тогда как…