Сильно ли влияет RetentionPolicy?

jopi

Попрошайка
1,421
30
260
Сильно ли влияет RetentionPolicy на работу или нет?
хочу себе работу облегчить да не знаю вот плохо так делать или нет
1579258194259.png
 
292
14
160
А зачем тебе такая аннотация? Что-то мне подсказывает, что в твоём случае можно интерфейсом обойтись
 
7,099
324
1,509
А если ему нужно пометить че-то не свое?
 
292
14
160
А как он аннотацию повесит на "че-то не свое"? По-моему, @jopi эту аннотацию хочет на классы вешать.
 

tox1cozZ

aka Agravaine
8,454
598
2,890
Дурню говоришь, если рил для своих предметов - делай интерфейс.
интерфейс с абстрактным методом
Они как бы могут быть дефолтные с реализацией

чем меньше кода тем красивее код
Ну канешна, намного красивее рефлексией доставать аннотацию(еще и намного медленнее), чем просто сделать obj instanceof YourInterface 💁‍♀️ 🌚
 

jopi

Попрошайка
1,421
30
260
@Dysphoria честно? задолбали интерфейсы, и удобнее аннотации когда нужно 1-2 значения сделать на 1 класс а не мультипредмет
1579382173622.png
( да ето лавамод c: )(весь код переписываю)
 
7,099
324
1,509
В том, что у тебя много интерфейсов скорее всего виноваты две вещи: качественные характеристики решаемых задач и неумение обобщать абстракции.
С ходу погу предположить,
что вот эти два интерфейса можно было бы описать единым образом
1579382911982.png
а вот эти интерфейсы скорее всего можно заинлайнить
1579382942969.png
скорее всего, только итемы имеют тултип, поэтому можно слить этот интерфейс в базовый интерфейс итема и сделать реализацию по умолчанию
1579382988392.png
1579383055834.png
 

jopi

Попрошайка
1,421
30
260
Ну хз, но ты делаешь неправильно, но дело твое
лавамод это огрызок, который деус по сути слепил из своего кода, кода со stackoverflow, кода с туториалов, и кода с закрытых модов по типу того же ThaumCraft(сурсов которых нету в открытом доступе, я не нашел :C)
 

jopi

Попрошайка
1,421
30
260
@hohserg1 первые 2 отличаются тем что первый для всех идет, а второй идет для аксессуара который будет дополнительно рендерится,
далее 3 я не разбирался еще, там его код, тултип вообще вроде не используется(удолю), фаст райт клик это вообще отдельная тема на оскар, используется в тикхандлере, евентхандлере и классе предмета ради того что-бы использовать предмет по бинду...
genius, не хочется вообще обсирать деуса но слишком много чепухи как по мне он делает, ну а поскольку я просто переписываю его, будет интересно взглянуть до и после.
А их много потому-что я делаю максимальную простоту в добавлении каких то предметов и работы с ними, так реально легче
 
7,099
324
1,509
Я понимаю, что они отличаются, но их наверняка можно описать единым образом, если они о близких вещах

Если тебе не нравится код - то рефакторь его или переписывай с нуля, других способов избавиться от говнокода я не знаю. Нытье о легаси-коде должен слышать заказчик или начальник, а не форумчане)

По вопросу: сами аннотации на производительность не повлияют, однако работать с ними придется через рефлексию, а это дольше, чем просто вызвать метод
 
292
14
160
код предмета с интерфейсом
1579366739338.png
Нолики и false ты вполне можешь спрятать, используя default метод в интерфейсе. Просто переопределяешь только нужные методы и кода в классе предмета сразу станет меньше. Аннотация для твоей задачи смотрится дико.
 

jopi

Попрошайка
1,421
30
260
Я понимаю, что они отличаются, но их наверняка можно описать единым образом, если они о близких вещах

Если тебе не нравится код - то рефакторь его или переписывай с нуля, других способов избавиться от говнокода я не знаю. Нытье о легаси-коде должен слышать заказчик или начальник, а не форумчане)

По вопросу: сами аннотации на производительность не повлияют, однако работать с ними придется через рефлексию, а это дольше, чем просто вызвать метод
Я и переписываю с 0 код, пока участками, ибо так легче(ну тоесть по типам там блоки и предметы и тд)
ну а чистый код просто мне прям уляля, красиво и мне нравится да и получается что я так скилл прокачиваю свой говнокодинга
а аннотации я вызываю типо stackObject.getItem().getClass.getAnnotation(MyAnnotationClass.class) != null и если ненул
то тогда stackObject.getItem().getClass.getAnnotation(MyAnnotationClass.class).myParam()

@Plasticable хм, спасибо, обязательно так сделаю, не подумал чет...
 
Сверху