-
Проти захисних випадків
Захисний випадок (guard case) є популярним патерном у багатьох мовах програмування, як то: Ruby, Golang, Erlang та багато інших. Суть цього патерну полягає у додаванні перевірок безпосередньо перед виконанням основної роботи, аби негайно припинити виконання функції, якщо деякі умови порушені. Як виглядає захисний випадок: Чи доцільно у цьому випадку повертати 0 – це вже інше…
-
Де тут логіка?
Часто можна почути від розробників про якусь-там бізнес-логіку, але, насправді, ніякої логіки у коді немає. Слово логіка має два основні значення: Нічого з цього ми не маємо у коді. Логіка знаходиться у головах розробників, дуже рідко вона десь задокументована архітекторами проекту. Код залишається лише описом інструкцій для машини. Відсутність логіки у коді – це велика…
-
Дещо про дефективні екземпляри та TDA (Tell, don’t ask)
Те, що багато реалізацій об’єктів – це надбудови над звичайними структурами, відволікає від головного: ООП – це не про методи замість функцій, а про коммунікацію між одиницями коду (об’єктами) через відправку повідомлень (асинхронно). Детальніше про власне розуміння ООП я писав у Що я розумію під об’єктною орієнтованістю, а ця публікація про те, що тотожність між…