Найти тему
47 подписчиков

Осознанный техдолг и интерфейсы


Я очень не люблю думать. Казалось бы, но это правда. Я в программирование пошёл чтобы программы работали за меня, а не я за них. Поэтому я стараюсь по любой теме вырабатывать себе простые автоматические решения. Или можно модно сказать "паттерны".

Есть такая штука "осознанный техдолг". Когда ты понимаешь, что сделаешь нормально может быть потом, а может быть и не сделаешь. А то, что делается сейчас — это "костыль". Не делать никогда костыли амбициозная задача для маленького пет проекта, а не коммерческой разработки. Костыли в коммерции у профессионалов просто получаются "не случайно", а по нужде бизнеса.

Я для себя вывел простую формулу, чтобы потом не тратить время на особое переписывание. Интерфейсы. Допустим у вас сложная задача. Скажем для того, чтобы трекинг хололенса не тупил ему сначала нужно "просканировать пространство". Так как с ходу он может трястись. Нормальное решение — сделать анализ по площади отсканированного меша. Но так как времени нет, проект горит и это пойдёт как "временное решение", то альтернативно можно выставить задержку в 10 секунд для того, чтобы отсканировать простраство. Если этот костыль обернуть в простенький интерфейс, и сделать реализацию что через 10 секунд он бросит событие "трекинг готов". А пока к камере прибить "осмотритесь, чтобы мы могли лучше построить карту пространства". Пойдёт как временное решение. Быстро и просто, а интерфейс позволит нам потом заменить его без каких-либо проблем.

И в любой аналогичной ситуации всегда просто удобно завести интерфейс. Когда уже есть "набитая рука", то время на то "как его назвать", "какие методы" и т.п. не тратится. Вы понимаете абстрактно логику функционала, который "правильный". И интерфейсом просто закрываете мок реализацию. Супер удобно.
Осознанный техдолг и интерфейсы  Я очень не люблю думать. Казалось бы, но это правда. Я в программирование пошёл чтобы программы работали за меня, а не я за них.
1 минута