|
|
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
В сях тоже существовали соглашения где функции начинающиеся с "underscore" считались скрытыми, ядерными, или просто unsafe с точки зрения полезного эффекта. Тоесть "лучше не трогать" руками если досконально не разобрался. Но думаю что красоты в коде от этого не добавилось. Особенно плюсы, которые бьют рекорды по степени загаженности кода различными соглашениями наподобие Венгерских e.t.c. нотаций, макросов, проприетарных соглашений, библиотечных префиксов и многое другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 16:23 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
Alexander A. Sak, а где я говорил только о публичных полях? Я лишь, говорил, что private слишком огораживает разработчика, который хочет залезть во внутренности чужого класса. И сначала подумал о замене protected и private на internal, но потом пришел к выводу, что "дешевле" расширить extends до fork, который позволит расширить чужой класс и дать полный доступ к его кишочкам для работы на свой страх и риск. По крайне-мере это проще, чем делать форк, юзать рефлекш, аоп и прочие костыли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 16:51 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
FororAlexander A. Sak, а где я говорил только о публичных полях? Я лишь, говорил, что private слишком огораживает разработчика, который хочет залезть во внутренности чужого класса. И сначала подумал о замене protected и private на internal, но потом пришел к выводу, что "дешевле" расширить extends до fork, который позволит расширить чужой класс и дать полный доступ к его кишочкам для работы на свой страх и риск. По крайне-мере это проще, чем делать форк, юзать рефлекш, аоп и прочие костыли. Идеология java предполагает, что говнокод писать сложнее, чем на других языках, и это должно сразу бросаться в глаза. Так что всё правильно- если тебе надо иметь доступ к private полям, то рефлекшн хорошо показывает, что кто-то из вас (тебя и автора библиотеки) идиот. PS: ничего личного :) PPS: когда-то давно сам менял значение protected-поля в чужом классе, делая фиктивного наследника и приводя объект (он прилетал снаружи) к моему типу. В delphi так можно :) Тогда считал авторов VCL в данном месте... скажем так... неумными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 17:02 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
FororAlexander A. Sak, а где я говорил только о публичных полях? Я лишь, говорил, что private слишком огораживает разработчика, который хочет залезть во внутренности чужого класса. Но необходимость возможности огородить все-таки не отрицается? Получается, вопрос стоит в том, насколько можно разработчику огораживать другого разработчика. И есть предложение огородить разработчика от слишком сильного огораживания. Простите за тавтологию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 17:18 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
Пользователь, вооруженный шаблоном Fork сможет унаследовать java.lang.String. Что из этого выйдет - я не знаю но очевидно старый пьяница Гослинг имел какие-то основания когда запрещал в явном виде наследование финального иммутабельного самого распространённого и квази-атомарного типа строк в Javа. Очевидно что здесь краеугольным камнем стоит идеология языка и важность и значимость использования именно ОДНОЙ имплементации строк. Возможно так было сделать проще чем бить по рукам нубасов и в тысячный раз в нотах и гайдах и прочих прокламациях от Sun(Oracle) отписывать что вы закрашили multithrd. app именно своей мутабельной имплементацией строк вместо того чтобы взять стандартную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 17:20 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
Fororprivate слишком огораживает разработчика, который хочет залезть во внутренности чужого класса и иметь полный доступ к его кишочкам для работы на свой страх и риск.Плохому танцору тапочки жмут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 18:03 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
Проблема не только в String, вся модель безопасности идет лесом :) Хотя, если одному ленивому программисту это мешает... oracle должен обратить внимание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 20:12 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
Пускай на Groovy переходит. Там всё либерально. Объявил сущность с филдами. Всё доступно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 22:09 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
Там же вроде тоже есть возможность сделать поле (свойство) private. Получается, не подходит. Только Питон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 22:15 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
mayton, авторвооруженный шаблоном Fork сможет унаследовать java.lang.String Можно наблюдать опыт JavaScript, там много чего делали со String, но в итоге сошлись на том, что расширять фундаментальные типы, даже банальным добавлением метода - плохой тон. И как-то живут себе, пишут код ) Понятно, что java это довольно консервативная платформа, но тем не менее у неё есть JVM, на которой можно запилить свой ЯП с блэк джеком и дамами легкого поведения ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 22:19 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
забыл ник, авторвся модель безопасности идет лесом Тогда и рефлекшн нужно запретить, там ведь тоже можно сделать setAccessible(true). Но если модель безопасности можно настроить на запрет рефлекшн, то и fork можно запретить, если кому-то это нужно, так что ваш аргумент мимо кассы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 22:34 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
Alexander A. Sak, авторТолько Питон. И причем тут питон? Я же на форуме java... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 22:36 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
забыл ник, авторесли одному ленивому программисту это мешает Лень - двигатель прогресса, еще один мимо кассы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 22:37 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
For All, авторПлохому танцору тапочки жмут Причем тут тапочки и плохой танцор? Отследите логику - мне нужно расширить некоторую функциональность класса, которую разработчик не предусмотрел или не смог допилить. Но при этом, мне не хочется делать форк или поддерживать его библиотеку. Потому что это сложнее, чем сделать наследование вот прям тут в IDE и получить полный доступ к пакетам классов, как своим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 22:43 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
Наследование - не единственный вариант использование ООП. Более того, это не самый лучший вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 22:46 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
maytonГде и когда в стандартных java-библиотеках, открытых библиотеках типа apache commons .... e.t.c. и прочего опенсорца вам вдруг (!) внезапно понадобилось значение приватной переменной базового класса?myfaces :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2014, 13:41 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
FororFor All, авторПлохому танцору тапочки жмут Причем тут тапочки и плохой танцор? Отследите логику - мне нужно расширить некоторую функциональность класса, которую разработчик не предусмотрел или не смог допилить. Но при этом, мне не хочется делать форк или поддерживать его библиотеку. Потому что это сложнее, чем сделать наследование вот прям тут в IDE и получить полный доступ к пакетам классов, как своим. Расширяйте, кто вам мешает?! Зачем вам нужны приватные члены класса, для которого нет исходника? Считайте, что вы о них вообще ничего не знаете. Скорее всего решение не там где вы ищите. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2014, 14:11 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
FororПонятно, что java это довольно консервативная платформа, но тем не менее у неё есть JVM, на которой можно запилить свой ЯП с блэк джеком и дамами легкого поведения ) Может тебе просто перейти на Груви? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2014, 15:16 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
mayton, нет, мне проще будет реализовать fork фичу в виде плагина для eclipse, правда я пока не знаю, где там копаться, чтобы расширить валидатор для таких конструкций: Код: java 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2014, 19:29 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, авторЗачем вам нужны приватные члены класса, для которого нет исходника? Еще не сталкивался, чтобы не было исходников, но там где их нет, можно по байт-коду восстановить методы и классы и также форкнуть прямо в коде и сделать свою обертку, в случае необходимости. Но, вообще, я уже устал повторять, одно и тоже читайте внимательнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2014, 19:36 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, авторРасширяйте, кто вам мешает?! Не кто, а что мне мешает. А мешают мне приватные методы и поля, из-за которых приходится использовать Reflection. Как один из недавних примеров, невозможности предусмотреть всё - в Nashorn нельзя было получить доступ к ScriptObject, т.к. он был обернут в ScriptObjectMirror в приватном поле. И тут вы конечно с умничаете и скажете нефиг лезть внутрь. Но мне было удобнее работать со ScriptObject напрямую и я запилил Reflection обертку. А недавно, спустя несколько месяцев, я увидел новый класс ScriptUtils (если не ошибся с названием), где появились методы wrap и unwrap, чтобы работать со ScriptObject напрямую. И заметьте мне такой метод был нужен несколько месяцев назад и очевидно не мне одному тоже. Так что, как видите очень простой пример, когда разработчик не смог предусмотреть, то что будет нужно пользователю. При этом, если придерживаться вашей логики, то я должен ждать несколько месяцев, пока нужный доступ откроют официально. Либо пользоваться рефлекшн. Но рефлекшн в более сложных случаях - громоздок. Поэтому нужно альтернативное решение, например такое как fork внутри кода, с использованием фич из АОП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2014, 19:52 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
Заметьте - сделали обёртки, а не превратили приватные поля в публичные. Так что вы всё равно не правы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 03:06 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, так и я сделал обертку, только использовал для этого reflection ) Это я просто привел как пример, того, что разработчики не знают, что нужно открыть для пользователя. Вообще, спор из интересного обменами мыслями, перешел в какое-то перепирание и не умение вчитываться, в то что я предлагаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 04:57 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
Но оно и понятно, почему так, центр внимание смещен на заглавие этого топика, когда мысль ушла совсем в другую плоскость. Нужно просто создавать другой топик обсуждающий концепцию fork. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 05:01 |
|
||
|
Видимость private, почему разработчику знают, что нужно пользователю?
|
|||
|---|---|---|---|
|
#18+
FororЭто я просто привел как пример, того, что разработчики не знают, что нужно открыть для пользователяпользователюИсправлено мною.Вообще, спор из интересного обменами мыслями, перешел в какое-то перепирание и не умение вчитываться, в то что я предлагаю.Вы предлагаете лечить перхоть гильотиной. Это, безусловно, надёжно, но создаёт массу весьма неприятных побочных эффектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 05:41 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38733181&tid=2126630]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
172ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 534ms |

| 0 / 0 |
