Так что да, вопрос в основном говорит все. Что вы получаете, когда гарантируете, что частные члены/методы/независимо от того, что они выделены как частные (или защищенные, или общедоступные, или внутренние и т. Д.) Соответственно?Каковы преимущества правильной оценки?
Я имею в виду, конечно, я мог бы просто пометить все мои методы как общедоступные, и все должно работать нормально. Конечно, если бы мы говорили о хорошей практике программирования (кстати, я являюсь солидным сторонником), я бы назвал метод приватным, если он должен быть помечен как таковой, никаких вопросов не было задано.
Но давайте отложим хорошую практику программирования и просто посмотрим на это с точки зрения фактического количественного выигрыша. Что я получаю для правильного определения моих методов, членов, классов и т. Д.?
Я думаю, что это в основном приведет к повышению производительности, но я был бы признателен, если бы кто-то мог предоставить более подробную информацию об этом.
(Для целей этого вопроса, я думаю, больше вдоль C# .NET, но эй, не стесняйтесь, чтобы дать ответы на любой язык/рамки вы считаете нужным.)
EDIT: Большинство отметил, что это не приводит к увеличению производительности, и, оглядываясь назад, я даже не знаю, почему я так думал. Вероятно, нехватка кофе.
В любом случае любой хороший программист должен знать о том, как правильные области (1) помогают в обслуживании вашего кода/(2) контролируют правильное использование вашей библиотеки/приложения/пакета; Мне было любопытно узнать, есть ли какая-то другая выгода от этого, что явно не очевидно. Основываясь на ответах ниже, похоже, что это в основном сводится только к этим двум вещам.
Нет, просто набрав этот вопрос, это было первое, что пришло в голову. Удвоившись сейчас, я вижу, как это перекошено. Но в любом случае меня больше интересовали любые преимущества, которые приносили правильные результаты. Конечно, всегда есть простое обслуживание, правильный доступ, но мне было любопытно, было ли что-то еще, кроме всего, что помогло сделать аргумент для правильных областей. – 2010-12-09 12:25:39