5916
Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез
На самом деле ничего не мешает писать нормальный код с агентом. Просто больше ревью, точные промпты и строгие правила ему задавать, а не отдавать полный контроль.
Я думаю больше человеческого включения при работе с агентом == качество. Но то что продуктивность повышается в разы это факт и бизнес вероятнее будет делать выбор в пользу скорости
Да любой проект, наверное, отказ которого означает прямые финансовые потери)
Читать полностью…
Да любая инхаус разработка. Я пересекался с банками и ритейлом.
Читать полностью…
а можно попросить названия пары-тройки фирм таких из России? чтобы можно было их вакансии рассмотреть. А то вокруг меня только про "сократили команду, выгнали на перф ревью, порезали штат, замарозка найма"
Читать полностью…
Бизнесы разные бывают. Кому-то нужно быстро и дешево, а кому-то не допустить остановки продаж на сутки в горячий сезон.
Читать полностью…
ты владелец бизнеса ? когда к нему придут и скажут "мы сделаем в 5 раз быстрее и 2 раза дешевле". как думаешь, его твои рассуждения про качество кода остановят? если только вы для ракет софт пишете
Читать полностью…
Да пока ноута нет рядом, думал по дороге домой смогу узнать. Спасибо за помощь, скоро проверю
Читать полностью…
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "type")
public abstract class AbstractEvent{
@Id
long id;
@Column
String type;
}
@Entity
@DiscriminatorValue("event_1")
public class Event1 extends AbstractEvent{
@OneToMany
List<Entity1> list1;
}
@Entity
@DiscriminatorValue("event_2")
public class Event2 extends AbstractEvent{
@OneToMany
List<Entity2> list2;
}
public void update(Dto dto, long id){
AbstractEvent event = session.find(AbstractEvent.class,id);
Event2 edited = build(dto);
edited.setId(event.id);
session.update(edited);
}
Ну в голову приходит
Попытаться сделать деаттач ентити
Склонировать/смапить в новый объект
Попробовать у хибера вызвать мерж на новом объекте
Или даже апдейт но тут хз сработает ли
Ну мне вот было интересно, если бы я сделал другой подкласс абстрактного события и присвоил бы ему предыдущий id, затер бы hibernate данные которые хранились по этой сущности ранее?
Читать полностью…
Была создана сущность события: изначально какой то подкласс абстрактного события, со связями на таблицы 1,2,3.
Событие хотят отредактировать, теперь это другой тип события ссылающийся на таблицы 4,5
за код в любом случае будет отвечать человек, просто потому что менеджеру не уперлось вникать в детали почему оно не работает как надо каждую итерацию, даже если итерация будет стоить $2
а когда оно со всем обвесом проверок и перепроверок будет стоить $200 на заход - тогда даже интерес стухнет
начальный уровень стал очень доступен, надежность все еще во влажных мечтах, а договариваться с мешками мяса как было дороже всего так и останется (состав изменится, ну так он и без того постоянно менялся, эксель изменил офисы больше чем амазон так то)
половина банков в части про контакты с госорганами, например
20 критичных точно, остальных туда тоже толкать будут, на этих направлениях сидят толпы людей. Описано все так чудесно что по 3 года rag везут, а штрафы запросто могут набегать в мллионах за день если будет простой в момент когда налоговая проснулась
плюс-минус любой «не стартап из гаража» теряет деньги если он не работает, все это уже проходили со школьниками на пхп - предложение «дешево и много» работает пока тебе нужен PoC, а как только у тебя деньги-простои-финансы - штука которая может упасть и не подняться не очень канает после хайпа
не, ну кроме шуток, ядра серьезных продуктов наверняка до сих пор сильно больше руками пишут. или по крайней мере очень серьезно ревьюят и хорошо готовят написание кода ИИ. типа Specification Driven Development в полный рост. а остальные 99% я уверен что гласно или негласно вайб-говнокодят вовсю. даже если руководство не знает, я хз кто в здравом уме будет писать 8 часов код руками, когда его можно за полчаса написать агентом и пойти на вторую работу делать балду пинать
Читать полностью…
Кому-то сделать, сдать, получить деньги и забыть, а кому-то - чтобы через годик гениальную идею по новому каналу продаж можно было бы запилить в разумный срок и при этом ничего не разломать.
Читать полностью…
я понимаю, но реальность щас такова, что если ты не пишешь JVM или аналог по важности продукта, где твои босы запретили использовать AI, то теперь надо решать задачу за 2 часа вместо 20, и вряд ли у нас останется время про инварианты говорить (если мы не пишем серьезную систему)
(про запрет - это об https://openjdk.org/legal/ai )
Зависит от того, что именно называть "качеством кода". Есть формальные метрики, а-ля цикломатическая сложность, размер методов и классов, null-safe, лучшие практики, отсуствие серьезных ошибок вроде тихого отлова исключений и т.п.
Но мне этого мало). Для меня качество кода - это свойства, относящиеся не к отдельным фунциям и классам, а к приложению целиком. Корректная доменная модель, кодирующая бизнесовые инварианты (не все, а ровно в той мере, чтобы быть полезной и при этом не мешать). Единая стратегия обработки ошибок. Абстракции, упрощающие понимание кода и при этом стабильные. Стабильная и в то же время гибкая структура проекта. Все то, что можно назвать архитектурой.
кто на качество кода моделей жалуется - ох как вам везет видимо с командой. Помоему большинство людей уже не напишут лучше код, чем опус 4.7 (кто-то конечно напишет, но это уже будут люди кто очень давно и с любовью занимается этим ремеслом)
Читать полностью…
а вопрос в чем?
использовать методу можно и не называя все внутри по красной книжке... А так даже в спринге есть репозитории, (почти) все используют до некоторой степени
Или все таки сделать грязно и через jdbc сменить тип… подумай над этим - проще всего кмк, но воняет (хибер тоже воняет, но что сильнее выбор за тобой)
Читать полностью…
К сожалению пересоздавать нельзя, только редактировать
Читать полностью…
Технически как это сделать? Просто клас кастануть не выйдет
Склонировать и пересохранить?
Удалить прошлую запись и новую сохранить?
Можно хакнуть и через jdbc сменить тип
Короч решение и поведение зависит от того как ты будешь делать в своем конкретном случае
Ну создали событие с одним типом, хотят отредактировать и сменить на другой. Нужна другая реализация класса
Читать полностью…
А там будет работать затирание из связанных таблиц подкласса при смене типа у сущности?
Если она была одним типом, а ее хотят отредактировать и сменить на другой тип?