Здравствуйте, BogdanMart, Вы писали:
BM>не поленились написать mutable -- не поленятся и писать public
+1
Для мьютабл-данных это не обсуждается даже. Я бы вообще запретил их публичными делать, была бы моя воля

.
VD>>Однако для неизменяемых полей и для свойств — это не так. Неизменяемые поля и свойства в 99% случаях объявляются для описания публичного интерфейса.
BM>По идеи поведение должно быть предсказуемо и однородно для любых членов.
BM>Хотя, действительно get-only свойства в основном публичные
Да и обычные свойства тоже в большинстве своем публичные. Разве что ли set-ер может быть скрыт, но это уже внутри свойства. И с этим проблем нет.
BM>ПС. я так понял тут не только про стракты?
Ну, а что их отделять то? За одно логичнее будет поведение в вариантах. А то что-то везде по умолчанию привает, а в вариантха вдруг паблик.
VD>>Может быть было бы разумно изменить для них умолчания и делать их по умолчанию public?
BM>Не поздно ли менять такое глобальное поведение?
Я прикинул. Для большинства таких свойств и полей значения модификаторов доступа заданы явно. Так что к серьезным проблемам это не должно привести.
Можно пойти на такое решение только для свойств. Их то уж точно очень редко приватными делают. А протектед прописывается в явном виде. Так что вообще проблем не будет.
ЗЫ
В общем, это как идея. Я не настаиваю. Просто правильные соглашения могли бы сократить код не причиняя вреда. Одна проблема — усложнит ли это понимания.