Функции

Компактность!

Блоки и отступы

Правило одной операции

Секции в функциях

Один уровень абстракции на функцию

Чтение кода сверху вниз: правило понижения

Команды switch

Используйте содержательные имена

Аргументы функций

Стандартные унарные формы
Аргументы-флаги
Бинарные функции
Тернарные функции
Объекты как аргументы
Списки аргументов
Глаголы и ключевые слова

Избавьтесь от побочных эффектов

Выходные аргументы

Разделение команд и запросов

Используйте исключения вместо возвращения кодов ошибок

Изолируйте блоки try/catch
Обработка ошибок как одна операция
Магнит зависимостей Error.java

Не повторяйтесь

Структурное программирование

Как научиться писать такие функции?

Завершение

Литература