Как стать автором
Обновить
4
0

Пользователь

Отправить сообщение

Это для случая когда кто-то написал log.debug(myStringVariable) или log.debug("myStringVariable = {}", myStringVariable) тоже под угрозой?

Интересно как универсальность попала в достоинства? Сортировка слиянием разве не обладает тем же свойством.
Я уже не говорю о простоте реализации. Сортировка слиянием куда проще.
Утверждение про быстродействие неплохо бы подтвердить экспериментальными данными.
Похоже вместо попкорна лучше запасаться солью и спичками. Ну и про флешку с копией интернета не забыть.
Молодежь нынче не та.
Вот в наше время мы ходили 15 километров в школу в мороз в темноте в гору. А отом возвращались домой в темноте в мороз в гору.

Ну или как-то так.
PS: Карлина цитирую по памяти.
А чем это отличается от Prolog?
Возможно и управляем, но за 10 лет что я с ним знаком я не разу не видел как это можно провернуть на практике. Все хорошо пока у вас пет шоп, как только нужно сделать шаг в сторону у вас появляется какой-то кусок не поддерживаемого го кода.
Мне все больше и больше кажется что Spring это котел с ЧОРНОЙ МАГИЕЙ и контролировать ее становится все трудней.

Интересно когда это все рухнет под своим собственным весом.
Можно было просто
  default T findOne(ID id) {
    return findById(id).orElse(null);
  }

в BaseJpaRepository добавить.
У гитхаба нет поиска по вики. Как этим пользоваться?
Так не принимается же.

RussianUser user = new RussianUser()ж
user.firstName = "Sergei";
user.lastName = "Egorov";

UserView userView =  RussianUser.view();
userView.getLastName(); // возвращает Egorov
user.lastName = "Ivanov";
userView.getLastName(); // перестало возвращть Egorov


Вы конечно можете сказать что не надо переприсваивать, но хотелось бы чтобы компилятор проверял что никто не переприсвоит.
Изначально задача стояла так чтобы сделать чтобы было нельзя изменять.
Я знаю два варианта:
1. Плагины к эклипсу.
2. leksah

Оба рабочие, но оба не то чтобы слишком юзерфрендли. Я остановился на последнем, но по сравнению с IDE для Java это зачастую боль и страдание.

PS: если вы пользуетесь emacs, то для вас есть еще варианты, но я их в живую не видел.
Т.е. метод view будет возвращать this. Тогда иммутабельность будет не настоящая. Состояние можно будет изменить через оригинальный user, а это не то что изначально требовалось.
Не совсем. Там есть версия у которой по мнению автора есть проблемы. Мой код решает эти проблемы.
Книжка чудо как хороша. И красно-черные деревья там кажется есть.
А в реализации этого интерфейса конструктор, такой же как и у оригинального User.
Если уж хочется странного то что мешает сделать так:

class Base {
    private final int field1;

    Base(int field1) {
        this.field1 = field1;
    }

    public static class BaseBuilder extends BaseBuilderEx<BaseBuilder> {
        public Base build() {
            return new Base(field1);
        }
    }

    protected static class BaseBuilderEx<T> {
        protected int field1;

        public T field1(int field1) {
            this.field1 = field1;
            return (T) this;
        }

    }
}

class Derived extends Base {
    private final int field2;

    Derived(int field1, int field2) {
        super(field1);
        this.field2 = field2;
    }


    static class DerivedBuilder extends DerivedBuilderEx<DerivedBuilder> {
        public Derived build() {
            return new Derived(field1, field2);
        }
    }

    protected static class DerivedBuilderEx<T> extends Base.BaseBuilderEx<T> {
        protected int field2;

        public T field2(int field2) {
            this.field2 = field2;
            return (T) this;
        }
    }
}


И создавай себе инстансы

new Derived.DerivedBuilder()    
    .field1(1)
    .field2(1)
    .build();

new Base.BaseBuilder()
    field1(1)
    .build();
Инфляция по причине эмиссии это форма скрытого налогообложения.
Достаточно сделать его явным и проблема решена.
Но это самопроизвольное изменение ячеек можно было бы обнаружить, чего на практике мы не наблюдаем.
Если нельзя заранее договорится встретится в точке 0, то ваше решение выглядит почти правильным. Правильно будет: один стоит, а другой ходит.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность