Size: a a a

Kotlin Community

2020 November 18

T

The The in Kotlin Community
Alexander Nozik
В С++ ровно то же самое. Безумное и бездумное наследование - это признак плохого проектирования. И возможно именно свобода в языке виновата в том, что в С++ этого плохого проектирования много.
сомневаюсь что запрещать программисту проектировать так, как он считает нужным, приведет к обилию хорошего проектирования
источник

AN

Alexander Nozik in Kotlin Community
The The
сомневаюсь что запрещать программисту проектировать так, как он считает нужным, приведет к обилию хорошего проектирования
Представьте себе. Ну и вам уже показали, что когда программист проектирует, он думает о том, что будет открытым и что закрытым. Если он не думает, то дефолт берется такой, который лучше для архитектуры.
источник

T

The The in Kotlin Community
Alexander Nozik
Представьте себе. Ну и вам уже показали, что когда программист проектирует, он думает о том, что будет открытым и что закрытым. Если он не думает, то дефолт берется такой, который лучше для архитектуры.
есть же final, чтобы программист "думал о том, что будет открытым и что закрытым"
источник

с#

саша сок #KotlinGang... in Kotlin Community
The The
сомневаюсь что запрещать программисту проектировать так, как он считает нужным, приведет к обилию хорошего проектирования
это ваша точка зрения. она не может быть объективной, т.к. у вас есть только опыт с дефолтом на все открытые классы.
мы имеем опыт и с тем, и с тем. так что приходите как только распробуете, вам не понравится и вы найдёте аргументы хорошие.
источник

AA

Andrey Akimov in Kotlin Community
The The
да не. просто как бы возможность наследоваться от любого класса это вроде как хорошо. впервые слышу. что это плохо.
аналогично, впервые слышу, что это хорошо
источник

T

The The in Kotlin Community
даже интересно. какие языки еще применяют подобный подход к запрету наследоваться от любого - явно не объявленного как final или аналога - класса?
источник

АЕ

Алексей Ершов... in Kotlin Community
The The
даже интересно. какие языки еще применяют подобный подход к запрету наследоваться от любого - явно не объявленного как final или аналога - класса?
в Effective Java довольно хорошо описано, почему наследование проще сломать, чем не сломать
источник

Е

Евгений in Kotlin Community
Алексей Ершов
в Effective Java довольно хорошо описано, почему наследование проще сломать, чем не сломать
+
источник

Е

Евгений in Kotlin Community
The The
поэтому можно класс сделать final, когда наследоваться от этого класса не хорошо
скорее, нужно делать класс open когда разработчик предусмотрел это и гарантирует безопасное наследование, в этом случае разработчику не придется думать по умолчанию над каждым классом насколько безопасно от него наследоваться
источник

T

The The in Kotlin Community
Евгений
скорее, нужно делать класс open когда разработчик предусмотрел это и гарантирует безопасное наследование, в этом случае разработчику не придется думать по умолчанию над каждым классом насколько безопасно от него наследоваться
один пишет, это для того чтобы "программист думал", другой "чтобы программисту не пришлось думать" 🌚
источник

с#

саша сок #KotlinGang... in Kotlin Community
The The
один пишет, это для того чтобы "программист думал", другой "чтобы программисту не пришлось думать" 🌚
мысль одна и та же везде. allopen не безопасно
источник

AN

Alexander Nozik in Kotlin Community
The The
один пишет, это для того чтобы "программист думал", другой "чтобы программисту не пришлось думать" 🌚
Одно и то же. Думал там, где надо и не думал, там где не надо
источник

AN

Alexander Nozik in Kotlin Community
Короче. Несите конкретные кейсы, где вы хотите что-то наследовать, что не открыто
источник

IP

Iaroslav Postovalov in Kotlin Community
Vladimir Petrakovich
С этим согласны не все, и ворвавшись с таким вопросом в @jvmchat, можно устроить холивар.
ну там можно с сообщением про смерть джавы холивар поднять. и еще много чем
источник

IP

Iaroslav Postovalov in Kotlin Community
The The
это все приведет к тому, что придется этот класс просто выковыривать из либы и определять у себя в андроид проекте. надеяться на то что что-то там сделает автор либы это такое, по моему опыту. не говоря уже о том что либы могут уже не обновляться
ну а откуда автору либы знать про ваш юзкейс. в open классе появляется много вещей, за которыми нужно следить
источник

IP

Iaroslav Postovalov in Kotlin Community
The The
это все приведет к тому, что придется этот класс просто выковыривать из либы и определять у себя в андроид проекте. надеяться на то что что-то там сделает автор либы это такое, по моему опыту. не говоря уже о том что либы могут уже не обновляться
ну как бы, вы сами берете ответственность, если тащите либу, которую не поддерживают.

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

IP

Iaroslav Postovalov in Kotlin Community
или на репу гитлаба, вообще без разницы
источник

PE

Pavel Erokhin in Kotlin Community
The The
один пишет, это для того чтобы "программист думал", другой "чтобы программисту не пришлось думать" 🌚
источник

T

The The in Kotlin Community
гуру высказался
источник

с#

саша сок #KotlinGang... in Kotlin Community
The The
гуру высказался
почему он не высказался по поводу юзкейсов, когда дефолт финал - плохо
источник