Информация об изменениях

Сообщение Re[6]: И вот feedback от них и мои им ответы от 09.03.2019 9:29

Изменено 09.03.2019 9:48 binnom

Re[6]: И вот feedback от них и мои им ответы
Здравствуйте, arth, Вы писали:

A>>>кто платит премиальные деньги? откуда такая информация?

B>>Очевидно, что соглашаясь на тестовое задание в 6 часов, ты рассчитываешь на какие-то премиальные деньги. Ты же не станешь делать тестовое задание в контору, где платят в 2 раза меньше чем ты имеешь сейчас.
A>почему какая-то бинарность — либо в 2 раза меньше, либо премиальные? просто нормальные деньги. меньше, чем на моей предыдущей работе
По мне это странно, ну ок.

A>>>и откуда ты знаешь насколько со мной приятно работать?

B>>Из фрагмента твоей деловой переписки. После такого матраса я бы на месте интервьюера порекомендовал бы no-go. Собственно, советую не очень удивляться, получая отлупы на казалось бы ровном месте. Одно дело желание агрессивно заэнфорсить свое мнение в срачике на РСДН, и совсем другое — работая в западной конторе. Впрочем, я думаю в Нетфликсе тебе бы очень понравилось.
A>ну это еще зависит от того как читать, верно? ну и деловая переписка бывает разной )
Читать по-английски, полагаю? Я читаю, и то что я читаю мне совсем не нравится, будь ты 100 раз прав. Контор с культурой Нетфликса тут совсем немного.

A>я, строго говоря, им ничего не должен, как и они мне. вот если бы я на них работал, было бы другое дело.

Ты к ним и не попадешь, если будешь и впредь продолжать жить в парадигме совковой настырности. Это не оскорбление, а констатация факта, я сам был таким же, и это стоило мне довольно дорого.

A>>>>>If we transfer negative amount money, author don’t throw exceptions, it takes abs value of this amount and transfer positive amount of money.

A>>>>>transferring negative amount is something which is odd. So it's a
A>>>>>convention. It either has to be documented or exception should be
A>>>>>thrown. So I partially agree.
B>>>>ИМО это эпичный фэйл, а не partially agree.
A>>>эпичный фейл это отсутствие abs. а с abs это просто другая культура
B>>Мде.
A>ну да. где-то -1 — это "все хорощо", а где-то 0. но я в целом согласен, что тут лучше с exception. я не согласен с тем, что это major
Понимаешь в чем проблема, тебе было очевидно, что надо сделать Abs, а мне — нет. Я, как пользователь API, не должен додумывать за его создателя, я должен получить ясный ответ, в чем моя проблема. Не надо делать странные манипуляции с инпутом, надо просто кидать кастомный эксепшен с объяснением проблемы.

A>>>>>Author don't know how to catch exceptions in junit

A>если по теме, то я не совсем понял суть предложения "Author don't know how to catch exceptions in junit". как ловить эксепшены вне Junit я, кажется, знаю)
Я не джавист, но полагаю что речь вот об этом:

    @Test
    fun testFailedAdd() {

        val s = WalletImpl( StorageImpl())
        try {
            s.add("1", (-1).toBigDecimal())
        }
        catch (e: Exception) {
            Assert.assertTrue(s.list().count() == 0)
            return
        }

        Assert.assertTrue(false)
}


Это собственно, очень печально, поскольку такой функционал появился, судя по release notes, появился в 2006 году. Ты должен был объявить кастомный эксепшен для этой ситуации, и кидать его, а юнит-тест, полагаю, должен был быть таким:

    @Test(expected = WhateverCustomException.class)
    fun Add_failed_because_of_negative_input_value() {
        val s = WalletImpl( StorageImpl())

        s.add("1", (-1).toBigDecimal())
    }


Улучшенная версия, разумеется, не должна содержать конкретной имплементации депенденсис, потому что ты тестируешь поведение твоего кода в контролируемом окружении (повторяю — я не джавист):

    @BeforeClass
    public void setUpClass() throws Exception {
    // тут инициализация абстракций
    _storage = Substitute.For<Storage>() // хз как это делать в джаве
    }

    @Test(expected = WhateverCustomException.class)
    fun testFailedAdd() {
        val s = WalletImpl(_storage);

        s.add("1", (-1).toBigDecimal())
    }
Re[6]: И вот feedback от них и мои им ответы
Здравствуйте, arth, Вы писали:

A>>>кто платит премиальные деньги? откуда такая информация?

B>>Очевидно, что соглашаясь на тестовое задание в 6 часов, ты рассчитываешь на какие-то премиальные деньги. Ты же не станешь делать тестовое задание в контору, где платят в 2 раза меньше чем ты имеешь сейчас.
A>почему какая-то бинарность — либо в 2 раза меньше, либо премиальные? просто нормальные деньги. меньше, чем на моей предыдущей работе
По мне это странно, ну ок.

A>>>и откуда ты знаешь насколько со мной приятно работать?

B>>Из фрагмента твоей деловой переписки. После такого матраса я бы на месте интервьюера порекомендовал бы no-go. Собственно, советую не очень удивляться, получая отлупы на казалось бы ровном месте. Одно дело желание агрессивно заэнфорсить свое мнение в срачике на РСДН, и совсем другое — работая в западной конторе. Впрочем, я думаю в Нетфликсе тебе бы очень понравилось.
A>ну это еще зависит от того как читать, верно? ну и деловая переписка бывает разной )
Читать по-английски, полагаю? Я читаю, и то что я читаю мне совсем не нравится, будь ты 100 раз прав. Контор с культурой Нетфликса тут совсем немного.

A>я, строго говоря, им ничего не должен, как и они мне. вот если бы я на них работал, было бы другое дело.

Ты к ним и не попадешь, если будешь и впредь продолжать жить в парадигме совковой настырности. Это не оскорбление, а констатация факта, я сам был таким же, и это стоило мне довольно дорого.

A>>>>>If we transfer negative amount money, author don’t throw exceptions, it takes abs value of this amount and transfer positive amount of money.

A>>>>>transferring negative amount is something which is odd. So it's a
A>>>>>convention. It either has to be documented or exception should be
A>>>>>thrown. So I partially agree.
B>>>>ИМО это эпичный фэйл, а не partially agree.
A>>>эпичный фейл это отсутствие abs. а с abs это просто другая культура
B>>Мде.
A>ну да. где-то -1 — это "все хорощо", а где-то 0. но я в целом согласен, что тут лучше с exception. я не согласен с тем, что это major
Понимаешь в чем проблема, тебе было очевидно, что надо сделать Abs, а мне — нет. Я, как пользователь API, не должен додумывать за его создателя, я должен получить ясный ответ, в чем моя проблема. Не надо делать странные манипуляции с инпутом, надо просто кидать кастомный эксепшен с объяснением проблемы.

A>>>>>Author don't know how to catch exceptions in junit

A>если по теме, то я не совсем понял суть предложения "Author don't know how to catch exceptions in junit". как ловить эксепшены вне Junit я, кажется, знаю)
Я не джавист, но полагаю что речь вот об этом:

    @Test
    fun testFailedAdd() {

        val s = WalletImpl( StorageImpl())
        try {
            s.add("1", (-1).toBigDecimal())
        }
        catch (e: Exception) {
            Assert.assertTrue(s.list().count() == 0)
            return
        }

        Assert.assertTrue(false)
}


Это собственно, очень печально, поскольку такой функционал появился, судя по release notes, появился в 2006 году. Ты должен был объявить кастомный эксепшен для этой ситуации, и кидать его, а юнит-тест, полагаю, должен был быть таким:

    @Test(expected = WhateverCustomException.class)
    fun Add_should_fail_when_negative_input_value_provided() {
        val s = WalletImpl( StorageImpl())

        s.add("1", (-1).toBigDecimal())
    }


Улучшенная версия, разумеется, не должна содержать конкретной имплементации депенденсис, потому что ты тестируешь поведение твоего кода в контролируемом окружении (повторяю — я не джавист):

    @BeforeClass
    public void setUpClass() throws Exception {
    // тут инициализация абстракций
    _storage = Substitute.For<Storage>() // хз как это делать в джаве
    }

    @Test(expected = WhateverCustomException.class)
    fun testFailedAdd() {
        val s = WalletImpl(_storage);

        s.add("1", (-1).toBigDecimal())
    }