Зачем нужен модифиактор доступа private
От: varenikAA  
Дата: 27.01.21 03:37
Оценка:
Что-то не пойму. private для полей по умолчанию же в классах C#?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Зачем нужен модифиактор доступа private
От: Ромашка Украина  
Дата: 27.01.21 03:54
Оценка:
Здравствуйте, varenikAA, Вы писали:
AA>Что-то не пойму. private для полей по умолчанию же в классах C#?

А для структур и классов по умолчанию internal.


Всё, что нас не убивает, ещё горько об этом пожалеет.
Re: Зачем нужен модифиактор доступа private
От: Doc Россия http://andrey.moveax.ru
Дата: 27.01.21 07:43
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Что-то не пойму. private для полей по умолчанию же в классах C#?


Удобство чтения кода.
Re: Зачем нужен модифиактор доступа private
От: fmiracle  
Дата: 27.01.21 07:47
Оценка: +1 :))) :)
Здравствуйте, varenikAA, Вы писали:

AA>Что-то не пойму. private для полей по умолчанию же в классах C#?


Для единообразности внешнего вида.

Да не, бред какой-то. Для увеличения синтексического оверхеда, разумеется, и вообще заговор для большей продажи клавиатур (microsoft тоже продает клавиатуры, так что им выгодно).
Re[2]: Зачем нужен модифиактор доступа private
От: Silver_S Ниоткуда  
Дата: 04.02.21 17:14
Оценка: +1
Здравствуйте, fmiracle, Вы писали:

F>Для единообразности внешнего вида.


Более правильно было бы, если бы VS в зависимости от настроек, либо автоматически их показывала либо скрывала, независимо от того — есть они в файле или нет .
Мне вот не нравится такая единообразность, даже первые буквы одинаковые. Надо терять миллисекунды, чтобы отличить private от public, боковым зрением плохо различаются.
Re: Зачем нужен модифиактор доступа private
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.02.21 23:21
Оценка: 12 (1) -1
Здравствуйте, varenikAA, Вы писали:

AA>Что-то не пойму. private для полей по умолчанию же в классах C#?


Это из Явы. А там это было придумано в пику подходу С++, где модификаторы доступа были чем-то вроде меток. То что их можно не ставить — это соглашение по дефолту. Для полей принято private, для топ-левел классов internal.

В соглашениях часто заставляют писать их явно. Типа много думунов работают, что не знают языка на котором пишут досконально. Лично я всегда предпочитал не писать дефолты.

Скажу более дефолты в C# плохие. Для свойств и методов удобнее было бы по дефолту иметь public. Вроде как именно так сделано в F# и никто не жужит.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Зачем нужен модифиактор доступа private
От: varenikAA  
Дата: 05.02.21 01:55
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Скажу более дефолты в C# плохие. Для свойств и методов удобнее было бы по дефолту иметь public. Вроде как именно так сделано в F# и никто не жужит.


Авторы dlang это поняли давно

Access to class members is controlled using visibility attributes.
The default visibility attribute is public.

☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Зачем нужен модифиактор доступа private
От: karbofos42 Россия  
Дата: 07.02.21 16:38
Оценка:
Здравствуйте, Silver_S, Вы писали:

S_S>Здравствуйте, fmiracle, Вы писали:


F>>Для единообразности внешнего вида.


S_S>Более правильно было бы, если бы VS в зависимости от настроек, либо автоматически их показывала либо скрывала, независимо от того — есть они в файле или нет .

S_S>Мне вот не нравится такая единообразность, даже первые буквы одинаковые. Надо терять миллисекунды, чтобы отличить private от public, боковым зрением плохо различаются.

Если бы исходники хранились в структурированном виде, то можно было бы что угодно сделать и оформить как хочешь. Плоский текст так не отформатируешь, либо его будет постоянно разносить.
Разработчик1 написал такой код:
void A(int param1,
       int param2,
       int param3)
{

}

У разработчика 2 в настройках включено отображение private и как у него код должен отображаться? А какой код должен улететь в репозиторий?
Re[3]: Зачем нужен модифиактор доступа private
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.02.21 22:04
Оценка: +1 -1
Здравствуйте, varenikAA, Вы писали:

AA>Авторы dlang это поняли давно


AA>

AA>Access to class members is controlled using visibility attributes.
AA>The default visibility attribute is public.


Для полей это не верный выбор, так как поля — это состочние объекта, а его нужно инкапсулировать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Зачем нужен модифиактор доступа private
От: varenikAA  
Дата: 08.02.21 01:41
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Для полей это не верный выбор, так как поля — это состочние объекта, а его нужно инкапсулировать.


Ладно, вот еще F#

Если спецификатор доступа не используется, по умолчанию используется public, за исключением привязок let в типе, которые всегда private типу.

☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[5]: Зачем нужен модифиактор доступа private
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.02.21 01:47
Оценка: 8 (1) +1
Здравствуйте, varenikAA, Вы писали:

AA>Ладно, вот еще F#


Его я исходно упоминал.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.