Обзор темы [Рефакторинг кода]

Мания примитивизма (Primitive Obsession)

Большинство языков программирования имеют два вида данных: примитивные типы и записи.

Одно из ценных свойств объектов заключается в том, что они стирают границу примитивными типами и большими классами. Можно легко использовать маленькие объекты, которые будут неотличимы от примитивных типов языка.

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

Всему этому сильно способствуют: Замещение поля объектом для отдельных полей, Замена кодирования типа классом для кодирования типа, не влияющее на поведение, Замена кодирования типа подклассом либо Замена кодирования типа Состоянием/Стратегией для кодирования типа, которое влияет.

Если есть группа полей, которые хотят быть вместе, не надо этому мешать – Извлечение класса. Если примитивы расположились в списках параметров – Введение объекта параметров, если оседлали массив – Замена массива на объект.