Size: a a a

2020 July 27

DC

Denis Chikanov in pro.jvm
humanoid
А часто приходится рефакторить регекспы?
Если вам пришлось рефакторить регэкспы (или думать об их содержании дольше 5 минут), скорее всего, кого-то пора увольнять - или вас, или того, кто их писал в реальный код, или того, кто пропустил их в прод
источник

h

humanoid in pro.jvm
Я просто заварачиаю сложное в функцию с нормальным неймингом.
источник

D

Dima in pro.jvm
Dima
но если что-то сложное приходится писать - я обязательно портянку комментарияев добавляю
чтобы люди моральные страдания от парсинга в голове такого не испытывали
источник

ch

central hardware in pro.jvm
А человеко читаемого builder-а для регулярок еще никто не придумал или надо обязательно страдать?
источник

DC

Denis Chikanov in pro.jvm
central hardware
А человеко читаемого builder-а для регулярок еще никто не придумал или надо обязательно страдать?
Естественно не придумал
источник

DC

Denis Chikanov in pro.jvm
central hardware
А человеко читаемого builder-а для регулярок еще никто не придумал или надо обязательно страдать?
Как говорится, человекочитаемый язык детального специфицирования поведения программы называется "высокоуровневый язык программирования", и потому беспокоиться о том, что нейросети заменят программистов, в ближайшие полвека не придётся
источник

GL

Gennady Lebedev in pro.jvm
central hardware
А человеко читаемого builder-а для регулярок еще никто не придумал или надо обязательно страдать?
еще картиночку попроси, как оно работает :D
если посмотришь "промышленный стандарт реализации state machine в spring", то регэкспы без картинок даже и не будут пугать)
источник

GL

Gennady Lebedev in pro.jvm
Denis Chikanov
Если вам пришлось рефакторить регэкспы (или думать об их содержании дольше 5 минут), скорее всего, кого-то пора увольнять - или вас, или того, кто их писал в реальный код, или того, кто пропустил их в прод
экстремизм
легаси никто не отменял, и люди его писавшие часто либо уже уволены, либо являются начальниками :D
источник

A

Anton in pro.jvm
Dima
от того, что я разобрался с ними, читабельнее они не стали
Даже если так? https://www.linchenguang.com/regex/
источник

AE

Alexandr Emelyanov in pro.jvm
Aleksandr
Как часто вы замечали в коде круда ту самую хитрую особенность, которая связана с обновлением существующей энтити через save метод JPA?

@Transactional
public BankAccount updateRate(Long id, BigDecimal rate) {
 BankAccount account = repo.findById(id).orElseThrow(NPE::new);
 account.setRate(rate);
 return account; // return repo.save(account)
}


Попалась статейка и сам заметил это https://habr.com/ru/post/441386/

Говорю конкретно про метод save у SimpleJpaRepository:

@Transactional
@Override
public <S extends T> S save(S entity) {

if (entityInformation.isNew(entity)) {
 em.persist(entity);
 return entity;
} else {
 return em.merge(entity);
}
}
Ни разу

ПыСы код не каноничен
источник

AE

Alexandr Emelyanov in pro.jvm
Gennady Lebedev
AOP вообще одна сплошная дыра и протечка абстракций, но сразу после этого следует вывод что и ООП это ересь)
Вообще то там не через аоп сделано
источник

AE

Alexandr Emelyanov in pro.jvm
Dima
на всякий случай всегда так делал, хотя бы ради безопасности и каскадов
+

Ещё явно видно что будет сохранено
источник

AE

Alexandr Emelyanov in pro.jvm
Gennady Lebedev
нет, там был регксп для разбора многокилобайтных документов в цикле. Справились легким видоизмененем регэкспа
О, RegexpDrivenDevelopment, знакомо)
источник

AE

Alexandr Emelyanov in pro.jvm
Dima
но если что-то сложное приходится писать - я обязательно портянку комментарияев добавляю
Лучше регекспы не трогать вообще и стараться решать без них
источник

GL

Gennady Lebedev in pro.jvm
Alexandr Emelyanov
Вообще то там не через аоп сделано
транзакции
источник

AE

Alexandr Emelyanov in pro.jvm
Gennady Lebedev
транзакции
с ними связано сильно косвенно
источник

GL

Gennady Lebedev in pro.jvm
Alexandr Emelyanov
Лучше регекспы не трогать вообще и стараться решать без них
если их знать - то нет, альтернативы будут велосипедом
источник

AE

Alexandr Emelyanov in pro.jvm
и без оборачивания в аннотацию того же добиться можно
источник

GL

Gennady Lebedev in pro.jvm
Alexandr Emelyanov
с ними связано сильно косвенно
как нет, если да
HB выполняет действие при закрытии транзакции
транзакции сделаны через AOP
AOP - неявная шляпа
источник

AE

Alexandr Emelyanov in pro.jvm
Gennady Lebedev
если их знать - то нет, альтернативы будут велосипедом
регекспы всегда будут болью в поддержке
источник