Тёмный

Технический долг / Долг кодинга - Что это? 

Dmitry Afanasyev
Подписаться 26 тыс.
Просмотров 4,8 тыс.
50% 1

Опубликовано:

 

1 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 62   
@misha-pitegorsk
@misha-pitegorsk 3 года назад
Спасибо. Бывает такое накапливается. Хорошо, что ещё не придумали технических коллекторов.
@privet_baget
@privet_baget 3 года назад
Покажите мне хоть один проект без костылей)) Никто не доводит до идеала, у всех все сводится к баллансу между затратами и качеством)
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
Да, если бы можно было достичь идеала - определение "тех долг" рожденное в 1992году до наших дней бы не дожило. Стремясь к идеалу держим хотя бы баланс.
@STATI0N
@STATI0N 3 года назад
Вот это нормальный видос, не то что некоторые платных уроков понафигачат, где один код и после этого, как наложат в один контроллер, что убирать никто не хочет за такие ковришки. Бывает ещё такая ситуация, контроллер нормальный, но этот говна чертёж лежит где нибудь в наблюдателе или в другом паттерне, который писался две недели и иногда заказчика лучше не пускать на черновик(другой домен под паролем для демонстраций) Он говорит, у тебя же все работает, что ты там ещё делаешь, погнали дальше, давай в продавшего, некогда ждать, потом доделаешь и задачи, задачи, с пониманием, что если придёт такой, который в контроллер кладёт, точно не разберёт, как он дебажить то будет, если там ещё очереди с элементами сложных алгоритмов, что даже опытный возможно откажется ну и ничего не сделать, так руки не доходят, только надеешься, что расширение функционала в том поднаправленнии не потребуется, а то прийдут коллекторы)))
@ДмитрийЖунёв-я7г
@ДмитрийЖунёв-я7г 3 года назад
Мудрое видео. Видел проект который в третий раз переписывали из-за технических долгов и всë равно наступают на те же грабли. Конечно, опытные программисты будут стоить дорого для бизнеса в такой ситуации, если они ещë согласятся работать с этим говнокодом.)
@dzhukokernri5228
@dzhukokernri5228 3 года назад
Здравствуйте, можете сделать видео про апи на ларавеле, настройку окружения для этого, как правильно хандлить эксепшены и тд
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
Да, хорошая тема 👍
@vitall789
@vitall789 3 года назад
Шо занадто то не здраво!
@lokidismas7442
@lokidismas7442 2 года назад
Автор молодец. Буду давать ссылку на это видео молодым подаванам. Пускай обучаются и помнят что серебряной пули не бывает. Спасибо.
@ЮрийПлохов-к2в
@ЮрийПлохов-к2в 3 года назад
Похоже намечаются видео по тестам
@aldwynconjurer9449
@aldwynconjurer9449 3 года назад
Спасибо за видео. Все детально и по полочкам. Такое ощущение, что теоретическая часть для видео формировалась на базе той фирмы, на которой я сейчас работаю. Передам это видео высше стоящим, как шанс на просветление.
@eaglesm1993
@eaglesm1993 3 года назад
Отличное вступление, 92-й год, тебя может еще на этом свете не было... А ты 93-го года
@kafychannel
@kafychannel 3 года назад
А ты 2004 *
@AsRammstein
@AsRammstein 2 года назад
11:04 Найдут новичка и скажут, хоч работу - сделай, иначе двери там )
@vsl13666
@vsl13666 3 года назад
Оказывается, у меня много долгов... 🙄
@asxenonify
@asxenonify 2 года назад
Дмитрий расскажите пожалуйста используете ли Вы в своих проектах DDD (domain driven design), может есть уже материал на канале (пойду посмотрю про пицца код). Какую структур разработки используете Вы. Есть пакеты для организации структуры в виде модулей (к примеру: nWidart/laravel-modules). Что посоветуете?
@DmitryAfanasyev
@DmitryAfanasyev 2 года назад
У нас в наличии базовая архитектура laravel котрая частично мутировала сначала в сервисы, затем в модульность. Сейчас модульность обретает черты porto. Рекомендовать могу "чистая архитектура" Мартина (при условии что Чистый код изучен) и porto
@sergeypanchenko5218
@sergeypanchenko5218 3 года назад
У меня сейчас на проэкте такая же ситуация, куча хардкода из за вечной спешки клиента и его грандиозных планов, всегда надо здесь и сейчас, еще очень класно что он не зная кода умеет делать эстимейты, эстимейт 2 часа в итоге 4 дня, нервам уже конец - хочется застрелится, я уже ненавижу кодинг реально хочется заниматся чем то другим... Протсо жизненно мужик говорит !
@VladimirKrygin-j4d
@VladimirKrygin-j4d 3 года назад
В 90% случаев это не твой долг, а предыдущего разработчика(ов) ))
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
Хорошо если так. Но свои собственные долги нахожу в коде постоянно...
@VladimirKrygin-j4d
@VladimirKrygin-j4d 3 года назад
)) А как уговорить клиента на закрытие техдолга (не своего) когда клиент требует новых фич, а всё уже погрязло в долгах (или такая перспектива погрязания маячит уже близко)?
@daanl88l
@daanl88l 3 года назад
@@VladimirKrygin-j4d Так и сказать - "от этой фичи и дальше будет увеличиваться время добавление этих самых фич". Тут другая проблема - клиенту на все эти премудрости пофигу. И технический долг становится лишь удобством разработки. В маленьких фирмах не хватает людей и чтобы не упустить клиентов, рефакторинг задвигается очень глубоко. В крупных рефакторят параллельно. В общем, проблема технического долга эта по большей степени внутренняя проблема компании/команды разработчиков и клиенту про эту проблему рассказывать... ну такое себе.
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
Качаешь красноречие до 100 и рассказываешь клиенту о рисках. Если клиенту пофиг - работаешь пока комфортно и уходишь.
@НиколайКвасов-п5и
@НиколайКвасов-п5и 3 года назад
Дмитрий решил уничтожить проблему говнокода в корне. Меньше программистов пишущих говнокод - меньше проблем с проектами на говнокоде. Не можешь победить врага - возглавь его
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
Устранить не выйдет, увы, но стремиться к этому надо.
@nickfist9187
@nickfist9187 3 года назад
Не дежурное спасибо. Редкий случай, когда не заметил как видео закончилось и хотелось еще. Для себя сделал выводы, что не нужно "стрелять пушкой по воробьям", не лениться и уметь моделировать развитие ситуации на пару шагов вперед(а вдруг заказчик тут захочет чего-то, а вдруг я буду этот кусок кода использовать часто и лучше его вынести куда-либо, например в хелпер и т.д.). Но сам в "долгах как в шелках" ) . Вопрос: можно ли считать умышленные тех долги неким механизмом защиты своей "нужности" со стороны разработчика, этакой страховкой и были ли в Вашей практике такие подозрения или конкретные ситуации?
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
Спасибо за комментарий. 🙏 По вопросу - это больше похоже на вредительство человека с низкой самооценкой. Опасаясь что не сможет найти работу в другой компании умышленно нанося вред создает свою незаменимость. Походу тут надо к психологу сходить на пару консультаций - разобраться в причинах низкой самооценки. К счастью такого не встречал. По полагаю таким говном занимаются наши чиновники - "троечники" дорвавшиеся до власти. Надеюсь среди программистов таких нет.
@nickfist9187
@nickfist9187 3 года назад
@@DmitryAfanasyev Спасибо за ответ. Только подтвердили мои догадки - беда в голове. К своему сожалению, встречался с такими людьми, работая в саппорте на "первой линии обороны". Данные товарищи очень резко реагировали на критику своих творений(был доступ к небольшой части скриптов). И еще один вопрос: опираясь на Ваш опыт, кто больше влияет на "долги": заказчик или разработчик(включая начальство)?
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
Чаще всего виноват разработчик. Заказчику не надо знать процесс решения задачи - эскиз, рефакторинг, тест. Чаще всего разработчики сами выбрасывают шаг "рефакторинг" даже когда нет команды ASAP. Заказчик об этом шаге чаще всего узнает когда долг накопился и надо выделять ресурсы на оплату долгов. Вот именно тогда надо объяснять, уговаривать, убеждать и тп.
@Fenrir-Wolf
@Fenrir-Wolf 3 года назад
Блогодарю, доступно объяснил. Осталось за малым, всего лишь применять знания на практике
@deazlylol
@deazlylol 3 года назад
Шайтанама вапще класни видео :D Я все ещё в процессе изучение большинства ваших видео. Автор вапше красавамана!)
@Ian-t2f
@Ian-t2f 3 года назад
Как всегда все разжевал и объяснил) оч. круто! спасибо за труды.
@Black1991Star
@Black1991Star 3 года назад
Всё по делу, спасибо. Правда невозможно отрефакторить код который ты сначала написал, если ты закончил писать, то считаешь что код хороший и выполняет поставленные задачи. Про его качество ты узнаешь в процессе тестирования, и скорее всего это понимание придет от кого-то другого
@YmNIKYm
@YmNIKYm 3 года назад
Слушаю и понимаю что у меня флеш-рояль :) Спасибо за видос
@ЭдуардЕвдокимов-й1о
Удивился на моменте лазанья и ровеоли кода. Но пахлава, просто добила. Ору. Не программирование, а кулинария)
@ДенисТ-ю9я
@ДенисТ-ю9я 3 года назад
Спасибо Дмитрий за видео. Однозначно лайк. Скажите, у вас есть возможность записать видео - как сделать поддомены для городов. Весь инет перерыл, путного ответа нет. для москвы - > сайт.ру (без поддомена) для питера - > спб.сайт.ру для новосибирска - > нск.сайт.ру решается путем в роутах: 'domain' => '{domain}.' . env('SITE_URL'), контроллер public function index($domain) но вот только не задача, когда в роут приходит null по москве выдает 404 ошибку. и как и где ее ловить))
@СаняТолк-р7ц
@СаняТолк-р7ц 3 года назад
Никогда не знаешь пригодится ли этот проект кому то еще, поэтому в мелких проектах много технических долгов)) А самое интересное что за это никто не хочет платить поэтому от этого не куда не денешься, заказчик не понимает что ты тратишь на рефакторинг дополнительное время
@БендерЗадунайский-щ9ы
Спасибо! Я только начинаю кодить, но долг уже копиться)))
@eaglesm1993
@eaglesm1993 3 года назад
Я часто пишу не очень хороший код (по крайней мере я так думаю), но зато я не буду спорить что мой код г*вно))
@ЮрийПлохов-к2в
@ЮрийПлохов-к2в 3 года назад
Принцип бойскаута: Уходя с полянки, оставляйте ее чище, чем была до вас
@agrosonru
@agrosonru 3 года назад
Роберт Мартин… я когда своим говорил - начали возбухать, типа я на их код наговаривал
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
Критика дело тонкое. Подобное надо аккуратно доносить без перехода на личности.
@agrosonru
@agrosonru 3 года назад
@@DmitryAfanasyev Да я просто новичкам говорил - "Хорошая книга, почитайте", а там уже каждый накручивал себе что и как хотел.
@alexalex6643
@alexalex6643 3 года назад
спасибо огромное за видео. Ещё более огромное спасибо за то, что добавили литературу
@modestusmunh93
@modestusmunh93 3 года назад
Отличное видео! Полезно посмотреть на стадии обучения!
@viktorizotov5716
@viktorizotov5716 3 года назад
У меня Карбонара код, вкусный с бекончиком
@bogdanchirukin1050
@bogdanchirukin1050 3 года назад
спасибо, так а как таки почувствовать золотую середину между лапшой и чрезмерно?
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
Свой и чужой опыт. В идеале надо чтобы задачу перед заливкой смотрел всегда второй программист и не сам внес правки, а написал рекомендации, пояснил почему надо сделать именно так и вернул на доработку.
@StivBike
@StivBike 3 года назад
Спасибо, как всегда круто.
@nikitakarpenko1861
@nikitakarpenko1861 3 года назад
Вообще видео огонь. Спс.
@sifecs8475
@sifecs8475 3 года назад
Присти за такой глупый вопрос но примерно с 20 минуты ты говоришь что делать толстые контроллеры и модели это плохо. Я посмотрел твой курс по laravel и дальше репозиториев не нашёл как сократить код в контроллерав и моделей может ты будешь дальше пилить курс по laravel и там будешь уже учить как правильно писать у меня почти каждый контроллер от 100 до 200 строк кода это без репозиториев а если я добавляю репозитории то весь код будет в них хранится и в чём это лучше? перекидывать код с одного места в другое?
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
Читаем "чистый код", смотрим курс по solid, смотрим курс по porto. После этого должно придти понимание.
@sifecs8475
@sifecs8475 3 года назад
@@DmitryAfanasyev Два года уже учусь программированию и понимаю благодаря тебя что я нифига не чего не понимаю((( если у вас будет свободное время то можете продолжать развивать курс по laravel? Вы единственный кого я смог найти кто говорит что толстые контроллеры это плохо а все остальные учат что это норм
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
То что я написал выше - гораздо более важные знания чем знания фреймворка. Настоятельно рекомендую купить книгу "чистый код" и приступить к изучению.
@sifecs8475
@sifecs8475 3 года назад
@@DmitryAfanasyev Понял спасибо за ваши труды в образования нас при том что-это бесплатно остальные бы потребовали бы не хилую сумму для изучения. И ещё если вам не сложно знаете ли вы какой нибудь репозиторий на git с хорошим кодом для примера хочу посмотреть как должен выглядеть хороший код что-б к ниму стремится
@sifecs8475
@sifecs8475 3 года назад
@@DmitryAfanasyev Ещё есть идея для ваших будующих уроках как на счёт того что-б брать готовые проекты с хорошим кодом и обозревать их что-б было наглядно что такое хороший код
@TsA1ex
@TsA1ex 3 года назад
Хватит философии. Давайте уже писать код )
Далее