Требуется серьезный подход к наименованию классов, полей, методов и пр. Код должен быть самодокументирующимся (т.е. из названий должно быть понятно, зачем нужен класс или метод).
Полный список рекомендации в книге "Совершенный код". Основные требования:
1. Наименования на английском языке, без ошибок, без сокращений.
2. Не слишком длинные (максимум 2-3 слова по 5-8 букв).
3. Названия методов - глаголы (или глагол + существительное).
4. Названия классов - существительные.
5. Названия объектов (в случае, если он один в блоке) совпадает с названием класса, только пишется с маленькой буквы.
Классы
1. Каждый класс должен заниматься своими задачами (только вещами, которые входят в его компетенцию). Это должно быть четко выражено в названии класса.
2. Не создавать классы типа «OtherTools» (разбить на несколько классов с четким поведением и названием).
3. Между классами должно быть как можно меньше связей.
4. Не должно быть прямой возможности сделать объект класса с некорректным состоянием. Т.е. если одно из полей класса не может быть null, то оно обязательно должно быть установлено в конструкторе.
Методы
Метод должен иметь предсказуемое поведение (должно быть понятно, какие исключения могут возникнуть):
1. Проверка аргументов.
2. Проверка состояния объекта.