Уровни доступности в одном классе проекта - PullRequest
0 голосов
/ 16 мая 2018

У меня есть очень простая служебная программа, которую я встроил в C #. Он имеет только одно пространство имен и один класс. Мне просто интересно, как лучше всего добавлять ключевые слова доступности к методам / переменным в этом контексте. Можно ли просто оставить здесь ключевое слово accessibility? Мне кажется, что добавление одного будет бесполезным, но методы кажутся такими «голыми» без него.

Ответы [ 4 ]

0 голосов
/ 16 мая 2018

Отметьте их так, как они будут использоваться, если они находятся в более крупном приложении.

Вы никогда не знаете, когда сможете перенести этот код в более крупное приложение.

Кроме того, 6 или 7 писем, которые должны быть явными и не позволять себе или кому-либо другому потом интересоваться, каковы были ваши намерения, кажется небольшой платой

0 голосов
/ 16 мая 2018

Отключение модификатора доступа при объявлении элемента кода означает, что компилятор предоставит уровень доступа по умолчанию .В вашем случае класс (тип верхнего уровня) будет internal, а его члены будут private.Это подходит для автономной утилиты, на которую вы не ожидаете ссылки из любого другого кода (internal означает «только эта сборка (EXE / DLL) может видеть это», а private означает «только класс / структуру, которая объявляет»).это видно ").Если вы хотите включить или исключить ключевые слова, это вопрос стиля.

0 голосов
/ 16 мая 2018

Передовой опыт обычно цитируется так:

Сделать все настолько ограничительным, насколько это возможно и только неограниченным, когда это необходимо

Значения по умолчанию - это C #

  • классы: внутренние
  • члены класса: частные

Закрытые классы, если они не вложенные, редко бывают полезны, но не обращайте на это внимания.

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

0 голосов
/ 16 мая 2018

Оставить их - это то же самое, что и наиболее ограничивающие из возможных (таким образом, private для класса и internal для самого класса в пространстве имен).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...