Введение
Именование переменных и функций
Стандартные имена функций и переменных
Преобразование одной большой функции в две маленькие
Признаки необходимости выделения функции
Выделение функции в процессе написания
Когда не следует выделять функцию
Использование модулей
Более сложные способы организации данных
Объединение данных и кода
Приватные члены класса
Свойства
Наследование