Email or username:

Password:

Forgot your password?
Alexey Skobkin

Есть такой спор касаемо юнит-тестирования и разработки:

👉 Использовать в релизациях "final class" чтобы защититься от непреднамеренных наследований, но тем самым сломать моки в тестах и либо страдать, либо использовать костыли для манки-патчинга убирающие "final" в тестовой среде.
👉 Не использовать "final" чтобы не городить костыли в тестах, но потенциально страдать от нерадивых разработчиков, которые любят понаследовать направо и налево.

// Само собой, это релевантно только там, где есть синтасксис "final", который ломает моки.

CHOOSE YOUR FIGHTER!

#dev #log #testing #fun #vote

Anonymous poll

Poll

Monkey patching FTW!
4
20%
Долой костыли из тестов, страдаем!
5
25%
Я НЕ БУДУ ВЫБИРАТЬ ВОВСЕ (с придыханием)
11
55%
20 people voted.
Voting ended 12 September at 14:52.
11 comments
Ténno Seremélʹ

@skobkin final это костыль. Наследовали, наследуем и будем наследовать!

Alexey Skobkin

@tennoseremel
Даёшь престолонаследие! За императора!

Ураааааааа!

André Polykanine

@skobkin На моей прошлой работе меня убеждали, что final — это прям архизло именно из-за этого и его надо запретить де факто.

Alexey Skobkin

@menelion
Тем не менее, это один из методов defensive design.

D:\side\

@skobkin не использовать наследование!

Осёл из Шрека, радостно выдающий "Осёл!" после многочисленных взаимообращений на повышенных тонах между остальными на семейном ужине
[DATA EXPUNGED]
DELETED

@skobkin в котлине final по дефолту, посему плагин на open для тестов. За 10 лет никто не умер и не стенает по этому поводу. Просто экосистема под это подстроилась.

E23

@skobkin хотят наследоватся - пусиь наследуются. Это индивидуальные риски

Alexey Skobkin

@Camel Судя по описанию, оно где-то пож капотом и делает манки-патчинг - возможно, на уровне JVM, а не сорцев - это неважно.

Go Up