
Мне надоело писать один и тот же код. Поэтому я сделал Featuregen
AWE64 7 минут назад Мне надоело писать один и тот же код. Поэтому я сделал Featuregen Средний 6 мин 97 Android * Java * Kotlin * Разработка мобильных приложений * Программирование * Кейс Привет, Хабр. Я уже не тот...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Значимый прорыв формирует отрасль ИИ: AWE64 7 минут назад Мне надоело писать один и тот же код. Поэтому я сделал Featuregen Средний 6 мин 97 Android * Java * Kotlin * Разработка мобильных приложений * Программирование * Кейс Привет, Хабр. Я уже не тот беззаботный парнишка, что собирал 486-й компьютер.
Время бежит, я скуф успел поработать с C++, C#, Java и Kotlin, последние 10 лет занимаюсь мобильной разработкой. Программирование я до сих пор люблю потому что больше ничего не умею. Но чем дольше работаешь, тем чаще ловишь себя на мысли, что от некоторых вещей начинает подгорать.
Технические детали
Сегодня я расскажу, как я попытался избавиться хотя бы от части таких вещей. Я начал изучать программирование в 2005 году, когда пошел в восьмой класс. Один друг поделился со мной диском, на котором были записаны Flash-игры и эмуляторы, и я подумал, что раз кто-то в принципе готов играть на компьютере не только в Far Cry, Doom 3, NFS Most Wanted, а ещё и в это, у меня тоже есть шанс запилить игрушку и воплотить в жизнь какие-то свои идеи.
Для старта я выбрал Delphi. Во-первых, язык был достаточно понятным для новичка, а во-вторых, для него был DelphiX — обёртка над DirectX, которая позволяла относительно просто делать игры. На тот момент мы даже ещё не проходили тригонометрию в школе, поэтому я проводил часы, меняя цифры в непонятных скопипащенных формулах, пытаясь разобраться, почему персонаж когда-то прыгает нормально, а иногда вылетает за экран.
Так почему же тогда я проводил за монитором дни напролёт и получал от этого кайф, а сейчас, когда я только начинаю проект, всё идёт хорошо, но постепенно добавление каждой новой фичи, каждого нового экрана начинает вызывать почти физическую боль? Со временем я понял, в чем дело. Когда трава была зеленее и я пилил свой клон Марио на DelphiX, мне было достаточно одной функции onTimerTick() на всё.
Отраслевые последствия
Весь код представлял из себя огромный файл и я не видел в этом проблемы. Теперь у нас есть промышленные стандарты, Архитектура. Теперь у нас не программы, а приложения, и в приложение нельзя просто добавить строчку без того, чтобы объявить юзкейс, интерфейс юзкейса, интерфейс репозитория, сам репозиторий, domain-модель, модель данных, конвертер из модели данных в domain-модель, интерфейс конвертера из модели данных в domain-модель, дата-соурс, провайдер для дата-сорса, di модуль, ну вы поняли… На одном проекте я насчитал 20+ обязательных сущностей для каждого экрана.
И нет, я не против архитектуры. Архитектура решает реальные проблемы. Но вместе с этим она приносит огромное количество повторяющегося кода.
А вот каждый раз писать руками тонны бойлерплейта уже утомительно. Да, на крупных проектах иногда есть какие-то тулзы для разворачивания новых фич, но, во-первых, лично вам о них могут просто забыть сказать, во-вторых, ежели это сделано в виде плагина к нашей любимой Android Studio, нередка ситуация, когда AS обновилась, а плагин еще нет, и вот и усё, карачун тебе, Церетели.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.


