Программист живёт нормально pinned «Самые горячие посты за последний месяц: 1) https://t.me/c/1669355105/60 - Полезные сайты для программиста 🕶 2) https://t.me/c/1669355105/57 - Горячие клавиши для Intellij IDEA ♨️ 3) https://t.me/c/1669355105/54 - Разбор кода из сериала "КиберСталкер" 🤖 4)…»
Продолжаем месяц адвентов, и сегодня пятый день наших подарочков ❤️
Каким должен быть метод (Функция)?
Метод должен быть понятным и простым, чтобы каждый смог понять его, когда придет на проект ♨️
Есть много различных способов оценить сложность метода: можно посмотреть на длину метода, количеству параметров, в него поступающих, можно взять более сложные вещи, вроде цикломатической и когнитивной сложности. Мы с вами сейчас поговорим о двух первых способах. А в следующие разы о других вариантах оценки.
В величайшей, по моему мнению, книге Роберта Мартина "Чистый код" приводится такое мнение:
"Первое правило: функции должны быть компактными, второе: еще компактнее... Желательно, чтобы длина функции не превышала 20 строк"
И все? Просто пишем методы, которые короче 20 строк?
С одной стороны - да, стараемся сделать метод максимально минимальным, но не переусердствуем, все таки метод из одной строки - тоже сомнительная вещь. Более того, по правилам оформления java-кода (например) длина строки не должна превышать 80 символов.
Есть еще ряд метрик, которые говорят о том, что ваш метод "сложен". Роберт Мартин дает еще один важный совет по поводу устройства методов: "Функция должна выполнять только одну операцию, она должна делать это хорошо и ничего другого она делать не должна". Понятно, что в методе происходит много действий, но операция тут воспринимается как нечто более высокоуровневое. Например, открыть файл - вполне себе одна операция, хоть и содержит внутри много действий. А вот открыть и записать туда какие-то начальные значения - это уже две операции (как минимум).
Есть еще одна важная метрика - количество аргументов (параметров) вашего метода-функции 🧠 В книге, из которой я подчерпнул знания и вдохновение, пишется: "В идеальном случае количество аргументов функции равно 0... Функции с 3 аргументами стоит избегать". Тут все довольно просто - чем меньше параметров в методе, тем он более легок в освоении, понимании и тестировании. См. раздел "Аргументы функции" в "Чистом Коде".
Итак: 1) Методы короче 20 строчек 2) Один метод - одна операция 3) Минимум аргументов
Пишите методы понятными, приятными, любите программирование, читайте книги!
Это кстати, только маленькая информации из книги 👀
Новый день - новый подарок! Мы продолжаем с вами наш IT-адвент-календарь и открываем четвертый день!
Инфляция - боль не только программистов, но и всех людей, кто получает зарплату в очень нестабильных валютах. Часто мы даже не понимаем, растет ли наша зарплата относительно реального положения дел 👩🎓
Подготовил для вас таблицу и видео-объяснение к ней, с помощью которой вы сможете рассчитать, как изменилась ваша реальная зарплата в рублях)
Третий факт о вас: независимо от вашего грейда или его отсутствия - вы хотите развиваться. И я стараюсь тут писать не только о hard-скиллах, но и о soft'ах, да и просто о человеческом. Развитие - это всегда круто)