filmov
tv
Чистый код. №2: Чистим функции. Теория и практика. По книге Роберта Мартина
Показать описание
Как сделать функции хорошо читаемыми? Функция должна быть короткой или очень короткой? А что значит: "короткая функция"? Чем плохи конструкции switch (match)? Почему так отвратительны аргументы-флаги? Как функция связана с уровнем абстракции и принципом единственной ответственности (Single Responsibility Principle)? Нуль-арные, унарные, бинарные, тернарные и полиарные функции - что это? Как правильно работать с исключениями (exceptions) и блоками try/catch? Сегодня обсудим всё это, опираясь, конечно же, на книгу Роберта Мартина "Чистый код".
А на десерт у нас - попытка рефакторинга реальной функции (метода контроллера из Laravel-приложения). Насколько удачной будет эта попытка? Давайте посмотрим.
Содержание ролика "Чистый код. №2: Чистим функции. Теория и практика. По книге Роберта Мартина":
00:00 Настоящий программист не боится функций в 300 строк.
02:00 Глава 3 "Функции" книги Мартина.
03:00 Пример трудно читаемой функции из книги.
04:00 Функции должны быть компактными!
04:30 Что значит: компактная функция?
05:50 Правило одной операции.
06:55 Один уровень абстракции на функцию.
09:10 Чтение кода сверху вниз: правило понижения.
10:13 Команды switch/match: не прибегнуть ли к полиморфизму?
15:10 Используйте содержательные имена.
15:35 Классификация функций в зависимости от количества принимаемых аругментов: нуль-арные, унарные, бинарные, тернарные, полиарные.
16:50 Что плохого в аргументах-флагах?
18:27 Объекты как аргументы.
19:50 Избавьтесь от побочных эффектов.
21:32 Используйте исключения вместо возвращения кодов ошибок.
23:28 Изолируйте блоки try/catch.
26:00 Возражение Дейкстре по поводу единственной точки входа/выхода.
27:35 Как научиться писать такие функции?
29:48 Практика: попытка рефакторинга метода контроллера из Laravel-приложения.
А на десерт у нас - попытка рефакторинга реальной функции (метода контроллера из Laravel-приложения). Насколько удачной будет эта попытка? Давайте посмотрим.
Содержание ролика "Чистый код. №2: Чистим функции. Теория и практика. По книге Роберта Мартина":
00:00 Настоящий программист не боится функций в 300 строк.
02:00 Глава 3 "Функции" книги Мартина.
03:00 Пример трудно читаемой функции из книги.
04:00 Функции должны быть компактными!
04:30 Что значит: компактная функция?
05:50 Правило одной операции.
06:55 Один уровень абстракции на функцию.
09:10 Чтение кода сверху вниз: правило понижения.
10:13 Команды switch/match: не прибегнуть ли к полиморфизму?
15:10 Используйте содержательные имена.
15:35 Классификация функций в зависимости от количества принимаемых аругментов: нуль-арные, унарные, бинарные, тернарные, полиарные.
16:50 Что плохого в аргументах-флагах?
18:27 Объекты как аргументы.
19:50 Избавьтесь от побочных эффектов.
21:32 Используйте исключения вместо возвращения кодов ошибок.
23:28 Изолируйте блоки try/catch.
26:00 Возражение Дейкстре по поводу единственной точки входа/выхода.
27:35 Как научиться писать такие функции?
29:48 Практика: попытка рефакторинга метода контроллера из Laravel-приложения.
Комментарии