Сижу, работаю. Так сконцентрировался, что ушел в мысли и начал жестко битбоксить, по привычке.
Потом оглядываюсь и понимаю, что сижу то не один в кабинете...
Потом оглядываюсь и понимаю, что сижу то не один в кабинете...
Эрнест пытается кодить
Сижу, работаю. Так сконцентрировался, что ушел в мысли и начал жестко битбоксить, по привычке. Потом оглядываюсь и понимаю, что сижу то не один в кабинете...
У меня прям проблема с детства, когда концентрируюсь над чем-то, начинаю обязательно что-то делать. Топаю ногами, руками набиваю ритм какой-то, издаю супер странные звуки ртом...
Игра на барабанах ухудшила ситуацию в 1000 раз, теперь, во время работы, я больше похож на неудавшегося музыканта...
Игра на барабанах ухудшила ситуацию в 1000 раз, теперь, во время работы, я больше похож на неудавшегося музыканта...
Разработка через тестирование — TDD
В одном из последних проектов на работе, я разрабатывал страницу, которая отображает карточки с доступными страховыми и их статусами. Основная сложность этой задачи заключалась в огромном количестве статусов, которые может иметь одна карточка. Просто определить всевозможные статусы — уже очень сложная задача, а мне нужно было написать код, который их вычисляет...
Поскольку от части статусов зависили стейты нескольких компонентов, я вынес их вычисление в отдельный селектор. Далее нужно было определить что именно должен вычислять селектор и какие данные для этого должен получать — и тут началась боль. Сейчас я понимаю, что подошел к проблеме совершенно неправильно, но в моменте в голове была такая каша, что тяжело было понять хоть что-то.
Не буду рассказывать как я бесконечно факапился, расскажу к чему в итоге пришел, а пришел я к TDD:
Написать тест куда проще, чем сразу готовый селектор, а его наличие уже позволяет визуализировать данные и дает возможность утвердить их, перед началом работы. Это значит, что можно избежать ситуации, когда в процессе разработки находишь кучу очевидных нюансов, которые непредусмотрены в спеке, и пытаешься втиснуть новые статусы в уже готовую функцию. Такой подход сильно упращает разработку и дает возможность решать сложные задачи без взрыва мозга.
Заканчивая свою историю, спустя огромное количество правок и факапов, у меня получилось написать, как я считаю, самый качественный код, который я писал. Очень доволен своей работой.
В одном из последних проектов на работе, я разрабатывал страницу, которая отображает карточки с доступными страховыми и их статусами. Основная сложность этой задачи заключалась в огромном количестве статусов, которые может иметь одна карточка. Просто определить всевозможные статусы — уже очень сложная задача, а мне нужно было написать код, который их вычисляет...
Поскольку от части статусов зависили стейты нескольких компонентов, я вынес их вычисление в отдельный селектор. Далее нужно было определить что именно должен вычислять селектор и какие данные для этого должен получать — и тут началась боль. Сейчас я понимаю, что подошел к проблеме совершенно неправильно, но в моменте в голове была такая каша, что тяжело было понять хоть что-то.
Не буду рассказывать как я бесконечно факапился, расскажу к чему в итоге пришел, а пришел я к TDD:
Test-driven development или процесс разработки через тестирование — это методология разработки программного обеспечения, которая основывается на повторении коротких циклов разработки — Red, Green, Refactor:
1. Пишется тест или набор тестов, покрывающих желаемое изменение в системе.
2. Пишется программный код, который реализует требуемое поведение системы и позволяет пройти написанный тест.
3. Проводится рефакторинг написанного кода с постоянной проверкой прохождения всех тестов.
Написать тест куда проще, чем сразу готовый селектор, а его наличие уже позволяет визуализировать данные и дает возможность утвердить их, перед началом работы. Это значит, что можно избежать ситуации, когда в процессе разработки находишь кучу очевидных нюансов, которые непредусмотрены в спеке, и пытаешься втиснуть новые статусы в уже готовую функцию. Такой подход сильно упращает разработку и дает возможность решать сложные задачи без взрыва мозга.
Заканчивая свою историю, спустя огромное количество правок и факапов, у меня получилось написать, как я считаю, самый качественный код, который я писал. Очень доволен своей работой.
14 3 2
Патент
Сегодня я оплатил первую треть суммы за патент на разработку ПО для своего ИП. Больно отдавать такую сумму разом, но! В сравнении с упрещенкой это жесткий чид код.
Так как у меня фиксированный доход в рамках одного вида деятельности, а именно разработка ПО, мне супер выгодно иметь патент, стоимость которого покрывает как страховку, так и налог на прибыль. Учитывая мои условия, УСН обходилась бы мне чуть ли не в два раза дороже :)
Еще интересный момент — формирование стоимости патента. Она складывается из двух частей: юридические услуги и государственные пошлины. С первым все понятно, а вот второе, по сути, напрямую зависит от города, в котором человек живет и района в котором прописан. Например, если бы я был прописан в каком нибудь Нижним Новгороде, то плата за тот же патент была в 3 раза меньше...
Пока писал этот пост, понял, что как бы не пытался разобраться в этом всем налоговом, все тщетно. Чем глубже уходишь, тем больше непонятно. В итоге, сидишь как дурак, бездумно отдаешь деньги, потому что знакомый бухгалтер так сказала, и успокаиваешь себя мыслями, что "так надо!"
Сегодня я оплатил первую треть суммы за патент на разработку ПО для своего ИП. Больно отдавать такую сумму разом, но! В сравнении с упрещенкой это жесткий чид код.
Патентная система налогообложения — разновидность специального налогового режима, применяется исключительно индивидуальными предпринимателями.
Так как у меня фиксированный доход в рамках одного вида деятельности, а именно разработка ПО, мне супер выгодно иметь патент, стоимость которого покрывает как страховку, так и налог на прибыль. Учитывая мои условия, УСН обходилась бы мне чуть ли не в два раза дороже :)
Еще интересный момент — формирование стоимости патента. Она складывается из двух частей: юридические услуги и государственные пошлины. С первым все понятно, а вот второе, по сути, напрямую зависит от города, в котором человек живет и района в котором прописан. Например, если бы я был прописан в каком нибудь Нижним Новгороде, то плата за тот же патент была в 3 раза меньше...
Пока писал этот пост, понял, что как бы не пытался разобраться в этом всем налоговом, все тщетно. Чем глубже уходишь, тем больше непонятно. В итоге, сидишь как дурак, бездумно отдаешь деньги, потому что знакомый бухгалтер так сказала, и успокаиваешь себя мыслями, что "так надо!"
2❤6 3 1
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤9 4 2
Эрнест пытается кодить
Только посмотрите какие крутые афиши, для наших забегов, делает мой друг @technoprinterr
После такого стыдно пропускать пробежку :)
После такого стыдно пропускать пробежку :)
1❤7
Эрнест пытается кодить
уговорили :))
This media is not supported in your browser
VIEW IN TELEGRAM
2❤3 3 1
This media is not supported in your browser
VIEW IN TELEGRAM
1❤4 2 1 1
Эрнест пытается кодить
Video message
Результат:
1. Куча багов, во основном ругался ts, ошибок настолько много, что пришлось все перегенерить. В второй попытке уже явно указал использование claude-sonnet-3.7
2. Сервис не запустился, так как многие пакеты, используемые в коде, даже не установлены. Но я, как настоящий вайб-кодер, просто вставил ошибку в чат и попросил ИИ исправить :)))
3. Архитектура проекта какая-то рандомная.
4. Создается впечатление, что ИИ исправляет любые баги, настраивая костыли на костылях, хз насколько такая система может быть надежной.
5. Когда наконец удалось запустить сервис, выполнив первый реквест, я получил ошибку. Код ошибки 404... Придется вручную править запросы к API.
Я ожидал большего если честно. Посмотрю гайды на ютубе, вдруг я делаю что-то-то не так.
1. Куча багов, во основном ругался ts, ошибок настолько много, что пришлось все перегенерить. В второй попытке уже явно указал использование claude-sonnet-3.7
2. Сервис не запустился, так как многие пакеты, используемые в коде, даже не установлены. Но я, как настоящий вайб-кодер, просто вставил ошибку в чат и попросил ИИ исправить :)))
3. Архитектура проекта какая-то рандомная.
4. Создается впечатление, что ИИ исправляет любые баги, настраивая костыли на костылях, хз насколько такая система может быть надежной.
5. Когда наконец удалось запустить сервис, выполнив первый реквест, я получил ошибку. Код ошибки 404... Придется вручную править запросы к API.
Я ожидал большего если честно. Посмотрю гайды на ютубе, вдруг я делаю что-то-то не так.
1 2 2