Size: a a a

2020 January 22

G

Gymmasssorla in rust_offtopic
Там история о том, как дом одной тётки сняли на камеру и опубликовали на сайт, потом она настоятельно попросила удалалить фотографию, из-за чего на сайт прибавилось +3000 посещений за день
источник

F

Fortunato in rust_offtopic
Про Бьёнсе позабавней мем
источник

AS

Aleksey Sidorov in rust_offtopic
Эффект Барбары Стрейзанд
источник

NL

Nick Linker in rust_offtopic
1>
все больше задумываюсь- вот нахрена эти private и public ?
защита от дурака при организации разработки совместных групп?  нахрена это языку?
все эти модификаторы вскрываются на раз при помощи рефлекшена, если в голове бардак ну никакие модификаторы не спасут

2>
ты всё правильно говоришь. Но есть ещё такая штука: публичное апи.
И с ним такая проблема: как только ты что-то вывалил наружу, ты уже не можешь вернуть это взад.

И разработчикам библиотек приходится много думать над этим: какой сделать публичное апи такое, чтобы была доступна вся функциональность, но с другой стороны которая бы давала свободу переделывать чего-нибудь под капотом.

Для разработчиков приложений да, разделять приват/паблик достаточно бесполезное занятие. Учитывая, что каждый раз когда я натыкался на приватный метод, я лез в код и переписывал на паблик если было нужно.
источник

A

Aikidos in rust_offtopic
Nick Linker
1>
все больше задумываюсь- вот нахрена эти private и public ?
защита от дурака при организации разработки совместных групп?  нахрена это языку?
все эти модификаторы вскрываются на раз при помощи рефлекшена, если в голове бардак ну никакие модификаторы не спасут

2>
ты всё правильно говоришь. Но есть ещё такая штука: публичное апи.
И с ним такая проблема: как только ты что-то вывалил наружу, ты уже не можешь вернуть это взад.

И разработчикам библиотек приходится много думать над этим: какой сделать публичное апи такое, чтобы была доступна вся функциональность, но с другой стороны которая бы давала свободу переделывать чего-нибудь под капотом.

Для разработчиков приложений да, разделять приват/паблик достаточно бесполезное занятие. Учитывая, что каждый раз когда я натыкался на приватный метод, я лез в код и переписывал на паблик если было нужно.
Можешь вернуть взад. Просто пару версий помечаешь метод/свойство как obsolete, а потом вовсе выпиливаешь.
источник

SP

Stanislav Popov in rust_offtopic
Nick Linker
1>
все больше задумываюсь- вот нахрена эти private и public ?
защита от дурака при организации разработки совместных групп?  нахрена это языку?
все эти модификаторы вскрываются на раз при помощи рефлекшена, если в голове бардак ну никакие модификаторы не спасут

2>
ты всё правильно говоришь. Но есть ещё такая штука: публичное апи.
И с ним такая проблема: как только ты что-то вывалил наружу, ты уже не можешь вернуть это взад.

И разработчикам библиотек приходится много думать над этим: какой сделать публичное апи такое, чтобы была доступна вся функциональность, но с другой стороны которая бы давала свободу переделывать чего-нибудь под капотом.

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

NL

Nick Linker in rust_offtopic
Stanislav Popov
как то так смешно и нелепо это читать
Расскажешь, что именно рассмешило?
источник

SP

Stanislav Popov in rust_offtopic
приватность нужна просто чтобы уменьшать связность. даже просто чтобы чекнуть побыстрому где еще используется поле делаешь его приватным и смотришь на вывод
источник

SP

Stanislav Popov in rust_offtopic
это механизм который позволяет трекать не расползаются ли кишки обьекта наружу
источник

SP

Stanislav Popov in rust_offtopic
чем меньше у обьекта публичного тем с ним работать проще и тестить и интегрировать
источник

A

Aikidos in rust_offtopic
Stanislav Popov
чем меньше у обьекта публичного тем с ним работать проще и тестить и интегрировать
это называется инкапсуляция
источник

SP

Stanislav Popov in rust_offtopic
все эти сказки про защиту от джунов или защита автора библиотеки от изменений это анрилейтед вообще. в либах это мешает и онли для кода который ты весь сам контролируешь
источник

SP

Stanislav Popov in rust_offtopic
Aikidos
это называется инкапсуляция
можешь как хочешь называть сути это не меняет
источник

A

Aikidos in rust_offtopic
Stanislav Popov
все эти сказки про защиту от джунов или защита автора библиотеки от изменений это анрилейтед вообще. в либах это мешает и онли для кода который ты весь сам контролируешь
Что в либах мешает? Выделение контракта в виде интерфейса/трейта для взаимодействия с твоей реализацией?
источник

SP

Stanislav Popov in rust_offtopic
я предвосхитил нытье скриптодетей о том что авторы либ не дают приватностями делать нужное им поведение
источник

NL

Nick Linker in rust_offtopic
Stanislav Popov
это механизм который позволяет трекать не расползаются ли кишки обьекта наружу
Ну вот не защищает этот механизм абсолютно.
Только если все разработчики поддерживают джентельменское соглашение _не_ использовать рефлексию, способы работы с AST, разделяют общее видение проекта и стараются поддерживать абстракции.
Но в условиях когда весь код доступен, private совершенно бесполезен для того, чтобы не пущщать
источник

SP

Stanislav Popov in rust_offtopic
Nick Linker
Ну вот не защищает этот механизм абсолютно.
Только если все разработчики поддерживают джентельменское соглашение _не_ использовать рефлексию, способы работы с AST, разделяют общее видение проекта и стараются поддерживать абстракции.
Но в условиях когда весь код доступен, private совершенно бесполезен для того, чтобы не пущщать
не защищать а трекать. это ты сам должен быть заинтересован. вот в питонке я заинтересован не реекспортировать, заинтересован чтобы утилиьи метод юзался только в одном месте но нечем тупо это сделать. приват в других языках позволяет
источник

p

polunin.ai in rust_offtopic
Stanislav Sagan
Здравствуйте, а как часто обновляется rust nightly?
Каждый день?
Да
источник

A

Aikidos in rust_offtopic
Nick Linker
Ну вот не защищает этот механизм абсолютно.
Только если все разработчики поддерживают джентельменское соглашение _не_ использовать рефлексию, способы работы с AST, разделяют общее видение проекта и стараются поддерживать абстракции.
Но в условиях когда весь код доступен, private совершенно бесполезен для того, чтобы не пущщать
> в условиях когда весь код доступен, private совершенно бесполезен для того, чтобы не пущщать

А ещё private совершенно бесполезен, когда у тебя весь код в одной функции на 20к строк.
источник

A

Aikidos in rust_offtopic
Предлагаю выпилить private. Очевидно, я доказал его ненужность.
источник