Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Rooster

Программирование[9]

Перепись  

260 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

да нет, он знает что проебёт, не будет рисковать

 

окей, утверждаю что на своей функциональщине он обосрётся на 10% производительности минимум (на нормальных тестах где много данных)

но его код должен быть не сложнее не длиннее, вот просто размер исходника посчитаем

ну типа в функциональщине простота должна быть, ёпта

и не надо библиотеки слишком имбовые вызывать

а то щас сишную библиотеку вызовет каким-то раком и скажет что это решение :lol:

вообще без библиотек ебаш


:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:    всё что пишу -- шизофренический бред     :zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

Поделиться сообщением


Ссылка на сообщение
Index написал 2 часа назад:
Kant написал 3 часа назад:

простой вопрос

как ты собираешься делать юнит тест на приватный метод?

вот напиши мне просто класс с приватным методом и ебаный юниттест, который его вызывает с разными параметрами

Есть много путей. расположу по убыванию правильности

1 путь, не тестировать приватные методы. (мой любимый) А если у тебя возникает задача протестировать приватный метод, то возможно он

  Показать содержимое

обладает достаточной респонсобилити, для вынесения в отдельный класс.

2 путь, ослабить ограничение области видимости метода и повесить аннотацию @VisibleForTesting 

3 путь, заюзать рефлекшоны (самый плохой)

 

Я не понимаю почему ты дебил ссылаешься на эту хуйню, задаешь мне очевидные вопросы

У тебя говнокод в проекте, иди фикси. То что он покрыт тестами только упростит тебе рефакторинг 

 

 

ну то есть 0 способов, как я и ожидал

пойду заеду на старую работу, скажу им, что мне тут индекс утверждает, что в приватном методе на 10 строк с лямбдой на 2 строки надо обязательно выделить лямбду в отдельный классик, чтобы ее протестить, когда код этой лямбды на уровне if(i < j) then result.add(x.a) else result.add(x.b)

он говорит можно поменять на интернал, чтобы все видели и ты мог вызвать в тесте

похуй что никто не напишет тесты на эту хуйню, ведь никто не знает, как она устроена, да и всем похуй, ведь всех интересует результат этого 10строчного метода обработанный вызывающей стороной и только она имеет смысл

но индекс сказал тестить, хули


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
Kant написал 6 минут назад:

ведь никто не знает, как она устроена

Ключевое. Ведь это так классно иметь в 10 строчках спагетти-код.

Поделиться сообщением


Ссылка на сообщение

я хз, ты хоть раз в жизни писал юнит тесты?

ты понимаешь их суть, как их пишут и прочее?

это 100500 вызовов публичных методов, которым тесты подтверждают, что эти методы выполняют свой контракт

никого и никогда не ебет как они это делают, потому что это неизвестно, тестируемый метод это черный ящик который должен ход на выход мапить правильно во всех вариантах

но индекс утверждает, что это не так


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
E1azor написал 15 минут назад:

да нет, он знает что проебёт, не будет рисковать

 

окей, утверждаю что на своей функциональщине он обосрётся на 10% производительности минимум (на нормальных тестах где много данных)

но его код должен быть не сложнее не длиннее, вот просто размер исходника посчитаем

ну типа в функциональщине простота должна быть, ёпта

и не надо библиотеки слишком имбовые вызывать

а то щас сишную библиотеку вызовет каким-то раком и скажет что это решение :lol:

вообще без библиотек ебаш

а если ты проебешь, то как кэш будешь отдавать?)))


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение
Kant написал 1 минуту назад:

это 100500 вызовов публичных методов, которым тесты подтверждают, что эти методы выполняют свой контракт

никого и никогда не ебет как они это делают, потому что это неизвестно, тестируемый метод это черный ящик который должен ход на выход мапить правильно во всех вариантах

то есть если ты вот щас прям написал 10000 приватных методов и единственную кнопку "решить задачу", то сам иди ебись ищи где баг, единица-проверки для приватных методов писать не будем, так? :lol:

JuJeu написал Только что:
E1azor написал 16 минут назад:

да нет, он знает что проебёт, не будет рисковать

 

окей, утверждаю что на своей функциональщине он обосрётся на 10% производительности минимум (на нормальных тестах где много данных)

но его код должен быть не сложнее не длиннее, вот просто размер исходника посчитаем

ну типа в функциональщине простота должна быть, ёпта

и не надо библиотеки слишком имбовые вызывать

а то щас сишную библиотеку вызовет каким-то раком и скажет что это решение :lol:

вообще без библиотек ебаш

а если ты проебешь, то как кэш будешь отдавать?)))

никак не буду отдавать, т.к. заведомо очевидно что я не могу проебать


:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:    всё что пишу -- шизофренический бред     :zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

Поделиться сообщением


Ссылка на сообщение
Kant написал 2 минуты назад:

тестируемый метод это черный ящик который должен ход на выход мапить правильно во всех вариантах

Ну не скажи, промышленное юнит тестирование это скорее тестирование серого ящика.

Если у тебя конечно не TDD.

 

Я когда пишу тесты помимо стандартных кейсов покрываю ещё и как мне кажется узкие моменты реализации.

Поделиться сообщением


Ссылка на сообщение

ебать, сейчас как представил юнит тесты на приват методы, у меня так друг умер если что, пиздец, страшно :corona:


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение
(изменено)

Кагбы какой смысл на каждый атом кода писать тест, если ты по сути должен писать тесты которые будут покрывать правильность эффектов твоих методов, причем на довольно высоком уровне, нет необходимости каждый приватный метод тестировать, тестируют же в итоге общий функционал или не?
Я по крайней мере тесты пишу по принципу функционала проверяя эффекты


Изменено пользователем Drakonian

Поделиться сообщением


Ссылка на сообщение
E1azor написал 1 минуту назад:
Kant написал 4 минуты назад:

это 100500 вызовов публичных методов, которым тесты подтверждают, что эти методы выполняют свой контракт

никого и никогда не ебет как они это делают, потому что это неизвестно, тестируемый метод это черный ящик который должен ход на выход мапить правильно во всех вариантах

то есть если ты вот щас прям написал 10000 приватных методов и единственную кнопку "решить задачу", то сам иди ебись ищи где баг, единица-проверки для приватных методов писать не будем, так? :lol:

JuJeu написал 1 минуту назад:
E1azor написал 17 минут назад:

да нет, он знает что проебёт, не будет рисковать

 

окей, утверждаю что на своей функциональщине он обосрётся на 10% производительности минимум (на нормальных тестах где много данных)

но его код должен быть не сложнее не длиннее, вот просто размер исходника посчитаем

ну типа в функциональщине простота должна быть, ёпта

и не надо библиотеки слишком имбовые вызывать

а то щас сишную библиотеку вызовет каким-то раком и скажет что это решение :lol:

вообще без библиотек ебаш

а если ты проебешь, то как кэш будешь отдавать?)))

никак не буду отдавать, т.к. заведомо очевидно что я не могу проебать

что ты блять несешь))) ебать, я каждый раз в голос на всю хату с твоих постов. Очевидно, что если ты написал хуету, где 1 к приват методов и один паблик, то это проблемы восприятия реальности. Но В ЛЮБОМ случае, ты будешь покрывать тестами ПАБЛИК ИНТЕРФЕЙС понимаешь? Тебя не ебет реализация, тебе нужен РЕЗУЛЬТАТ. У тебя есть тест кейсы, которые диктует бизнес логика вот ты и тестишь.


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение
E1azor написал 1 минуту назад:

то есть если ты вот щас прям написал 10000 приватных методов и единственную кнопку "решить задачу", то сам иди ебись ищи где баг, единица-проверки для приватных методов писать не будем, так? :lol:

Ну элазор во-первых так только ты пишешь.

Во-вторых, интеграционные тесты так и устроены.

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

Поделиться сообщением


Ссылка на сообщение
E1azor написал 1 минуту назад:
Kant написал 4 минуты назад:

это 100500 вызовов публичных методов, которым тесты подтверждают, что эти методы выполняют свой контракт

никого и никогда не ебет как они это делают, потому что это неизвестно, тестируемый метод это черный ящик который должен ход на выход мапить правильно во всех вариантах

то есть если ты вот щас прям написал 10000 приватных методов и единственную кнопку "решить задачу", то сам иди ебись ищи где баг, единица-проверки для приватных методов писать не будем, так? :lol:

JuJeu написал 1 минуту назад:
E1azor написал 17 минут назад:

а если ты проебешь, то как кэш будешь отдавать?)))

никак не буду отдавать, т.к. заведомо очевидно что я не могу проебать

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

тебе их компилятор заинлайнит вообще в один метод, но юнит тесты это не ебет. Они отвечают за логическую правильность кода, а не за то, ебашишь ты лям строк в мейне или нет

 

хотя кому я пишу, ты в жизни код больеш чем на 1 файл не писал походу


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
JuJeu написал 3 минуты назад:

ебать, сейчас как представил юнит тесты на приват методы, у меня так друг умер если что, пиздец, страшно :corona:

Юнит тесты вообще зло. Рефакторишь - будь добр ещё и тесты отрефакторить.

 

То ли дело интеграционные, можно весь микросервис с ног на голову перевернуть но у тебя остается источник правды в виде тестов которые не сломаются.

Поделиться сообщением


Ссылка на сообщение

Споры с дуитом относительно оптимизации - это сюр, очевидно, что ты будешь проходить по коллекциям несколько раз, а не за 1 фор луп (чекай мать как говорится когда у тебя в 1 фор лупе 100 преобразований над объектами и несколько мутаций исходной коллекций). Но код написанный в декларативном стиле более читабелен и такой код легче воспринимать и иметь контроль над мутациями коллекций (внезапно, легче тестировать).


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение

чёт вы совсем без уважения пишите

пожалуй, разобраться в случаях необходимости единица-проверок для приватных методов будет вашим домашним заданием


:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:    всё что пишу -- шизофренический бред     :zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

Поделиться сообщением


Ссылка на сообщение
Index написал 4 минуты назад:
Kant написал 8 минут назад:

тестируемый метод это черный ящик который должен ход на выход мапить правильно во всех вариантах

Ну не скажи, промышленное юнит тестирование это скорее тестирование серого ящика.

Если у тебя конечно не TDD.

 

Я когда пишу тесты помимо стандартных кейсов покрываю ещё и как мне кажется узкие моменты реализации.

вот именно блять, даже при сером ящике ты тестируешь ебаный черный ящик, но код тебе просто подсказывает эдж кейсы сразу, а не их выдумывает кто-то сторонний

но это никогда не отменяет того, что серый должен включать всё то же, что и черный, тк тестируешь ты сука всё равно интерфейс, а не то, как ты приватные методы внутри вызываешь

и когда ты придешь рефакторить и наделаешь себе еще 20 приватных методов, чтобы легче читалось, это никак вообще никак не повлияет на твои тесты, ведь им ПОЕБАТЬ


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
Index написал 2 минуты назад:
JuJeu написал 6 минут назад:

ебать, сейчас как представил юнит тесты на приват методы, у меня так друг умер если что, пиздец, страшно :corona:

Юнит тесты вообще зло. Рефакторишь - будь добр ещё и тесты отрефакторить.

 

То ли дело интеграционные, можно весь микросервис с ног на голову перевернуть но у тебя остается источник правды в виде тестов которые не сломаются.

есть подход в котором моки пишут в интерфейсах, чтобы не переписывать тесты на каждый чих.

E1azor понравилось это

Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение
(изменено)
Kant написал 4 минуты назад:

и когда ты придешь рефакторить и наделаешь себе еще 20 приватных методов, чтобы легче читалось, это никак вообще никак не повлияет на твои тесты, ведь им ПОЕБАТЬ

Спасибо, капитан. 

Но стековая переменная инициализированная лямбдой и мутирующая замыкание это все равно хуйня.

Сайд эффекты - зло.

Мне даже интересно как на такое java линтеры всякие отреагировали бы. Типо checkstyle


Изменено пользователем Index

Поделиться сообщением


Ссылка на сообщение
(изменено)
JuJeu написал 8 минут назад:

очевидно, что ты будешь проходить по коллекциям несколько раз, а не за 1 фор луп

в теории можно откупиться еблей в очко и написать эффективный код на функциАнальщине

но этот код будет в 1000 раз сложнее и вырвиглазнее чем топорный проход по циклу в стиле си

 

ну спрятать кишки конечно можно, только для каждого случая ты не найдёшь библиотеку в которой все эти пидорские прятки реализованы, всё равно придётся ебаться в очко самому во многих случаях


Изменено пользователем E1azor

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:    всё что пишу -- шизофренический бред     :zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

Поделиться сообщением


Ссылка на сообщение
E1azor написал 1 минуту назад:
JuJeu написал 8 минут назад:

очевидно, что ты будешь проходить по коллекциям несколько раз, а не за 1 фор луп

в теории можно откупиться еблей в очко и написать эффективный код на функциАнальщине

но этот код будет в 1000 раз сложнее и вырвиглазнее чем топорный проход по циклу в стиле си

Оптимизации ради оптимизаций, хайлоад пишешь?

К слову зато функциональщина легко параллелится.

Ну и циклы работают только на конечных коллекциях.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...