Приватные методы с маленькой, публичные с большой
От: Аноним  
Дата: 21.01.12 03:24
Оценка: -1
Сейчас почему то мода пошла и приватные и публичные писать с большой. Но ведь это не удобно -- по названию метода должно быть стразу понятно публичный он или приватный. Разница огромная. Как минимум, в приватных нет проверки аргументов на null, а в публичных есть. Публичность/приватность должна бросаться в глаза.

Если мне память не изменяет, раньше рекомендовали приватные писать с маленькой буквы. А теперь что изменилось?
Re: Приватные методы с маленькой, публичные с большой
От: IT Россия linq2db.com
Дата: 21.01.12 04:11
Оценка: +6
Здравствуйте, Аноним, Вы писали:

А>Если мне память не изменяет, раньше рекомендовали приватные писать с маленькой буквы. А теперь что изменилось?


Ничего не изменилось. Никто никогда не рекомендовал именовать приватные методы с маленькой буквы. С маленькой буквы именуются только локальные функции в Немерле.
Если нам не помогут, то мы тоже никого не пощадим.
Re: Приватные методы с маленькой, публичные с большой
От: WadeOne  
Дата: 21.01.12 15:26
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>Сейчас почему то мода пошла и приватные и публичные писать с большой. Но ведь это не удобно -- по названию метода должно быть стразу понятно публичный он или приватный. Разница огромная. Как минимум, в приватных нет проверки аргументов на null, а в публичных есть. Публичность/приватность должна бросаться в глаза.


А>Если мне память не изменяет, раньше рекомендовали приватные писать с маленькой буквы. А теперь что изменилось?


Первый раз слышу про приватные методы с маленькой буквы
Re: Приватные методы с маленькой, публичные с большой
От: _NN_ www.nemerleweb.com
Дата: 22.01.12 11:23
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Сейчас почему то мода пошла и приватные и публичные писать с большой. Но ведь это не удобно -- по названию метода должно быть стразу понятно публичный он или приватный. Разница огромная. Как минимум, в приватных нет проверки аргументов на null, а в публичных есть. Публичность/приватность должна бросаться в глаза.


А>Если мне память не изменяет, раньше рекомендовали приватные писать с маленькой буквы. А теперь что изменилось?


У нас такое используется.
Но мне больше не нравится чем нравится.

Сегодня метод приватный, а завтра его делаем публичным и везде меняй регистр.
А вот "protected" это приватный или публичный ? Аналогично с internal.
Как тут поступать ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: Приватные методы с маленькой, публичные с большой
От: Аноним  
Дата: 22.01.12 11:48
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>У нас такое используется.


В программах на C#?
Re[2]: Приватные методы с маленькой, публичные с большой
От: QrystaL Украина  
Дата: 22.01.12 12:16
Оценка:
Здравствуйте, _NN_, Вы писали:
_NN>А вот "protected" это приватный или публичный ? Аналогично с internal.

К публичным относятся public, protected и protected internal.
К приватным — private и internal.
Re[3]: Приватные методы с маленькой, публичные с большой
От: _NN_ www.nemerleweb.com
Дата: 22.01.12 12:53
Оценка:
Здравствуйте, Аноним, Вы писали:

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


_NN>>У нас такое используется.


А>В программах на C#?


Да.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: Приватные методы с маленькой, публичные с большой
От: _NN_ www.nemerleweb.com
Дата: 22.01.12 12:55
Оценка:
Здравствуйте, QrystaL, Вы писали:

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

_NN>>А вот "protected" это приватный или публичный ? Аналогично с internal.

QL>К публичным относятся public, protected и protected internal.


Ну вот, а некоторые считают, что protected относится как раз к приватным.
Тут как бы вопрос что есть публичное, что приватное.

Если смотреть относительно класса, то public и internal.
А если смотреть относительно сборки, то тогда ваш вариант.

QL>К приватным — private и internal.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[4]: Приватные методы с маленькой, публичные с большой
От: QrystaL Украина  
Дата: 22.01.12 13:03
Оценка:
Здравствуйте, _NN_, Вы писали:
_NN>Ну вот, а некоторые считают, что protected относится как раз к приватным.
Они ошибаются =)
Приватные — видимые только внутри контейнера (класса/сборки) — private/internal. Все остальные — публичные.
Re[2]: Приватные методы с маленькой, публичные с большой
От: IObserver Ниоткуда  
Дата: 22.01.12 15:59
Оценка: +1
Здравствуйте, _NN_, Вы писали:

_NN>Сегодня метод приватный, а завтра его делаем публичным и везде меняй регистр.


Не только менять регистр, но и добавлять проверку входных параметров. Вообще это серьезное изменение архитектуры, так что буква далеко не самый главный момент в этом случае. Буква меняется одним нажатием кнопки, а вот остальное не так просто.

_NN>А вот "protected" это приватный или публичный ? Аналогично с internal.

_NN>Как тут поступать ?

Критерий очень простой: там, где вы проверяете аргументы метода на null -- пишем с большой буквы, где нет -- с маленькой. То есть там, где маленькая буква, передаются 100% валидные аргументы (потому что вызываем его только мы для внутренних нужд и никто другой туда каку передать не сможет).

То есть protected с большой, т.к. могут передать неверные аргументы из стороннего кода. Internal -- я тоже пишу с большой, т.к. сам случайно могу передать туда не то что нужно (всего в голове не удержишь).

Итого, с маленькой только чистый private.
Re[4]: Приватные методы с маленькой, публичные с большой
От: IObserver Ниоткуда  
Дата: 22.01.12 16:02
Оценка:
Здравствуйте, _NN_, Вы писали:

QL>>К публичным относятся public, protected и protected internal.


_NN>Ну вот, а некоторые считают, что protected относится как раз к приватным.

_NN>Тут как бы вопрос что есть публичное, что приватное.

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

_NN>Если смотреть относительно класса, то public и internal.

_NN>А если смотреть относительно сборки, то тогда ваш вариант.

Нужно смотреть относительно необходимости проверки аргументов на null.
Re[5]: Приватные методы с маленькой, публичные с большой
От: _NN_ www.nemerleweb.com
Дата: 22.01.12 16:36
Оценка:
Здравствуйте, IObserver, Вы писали:

IO>Нужно смотреть относительно необходимости проверки аргументов на null.


Тоже вариант.

Мое личное мнение, всегда писать с большой буквы и не париться
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[6]: Приватные методы с маленькой, публичные с большой
От: IObserver Ниоткуда  
Дата: 22.01.12 16:42
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Мое личное мнение, всегда писать с большой буквы и не париться


А приватные поля, локальные переменные, аргументы методов вы тоже с большой пишите? Почему же с этим паритесь??? Пишите как в Delphi -- все с большой буквы.

Почему приватные поля пишите с маленькой, а приватные методы с большой? Где критерий?
Re[7]: Приватные методы с маленькой, публичные с большой
От: _Raz_  
Дата: 22.01.12 17:19
Оценка:
Здравствуйте, IObserver, Вы писали:

IO>Почему приватные поля пишите с маленькой


Names of Fields

IO>, а приватные методы с большой?


Capitalization Rules for Identifiers

IO> Где критерий?


Ну уж точно не в Java. Это ведь просто. Да-же проще, чем не выплатить заработанное.
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 32>>
Re[8]: Приватные методы с маленькой, публичные с большой
От: IObserver Ниоткуда  
Дата: 22.01.12 20:02
Оценка:
Здравствуйте, _Raz_, Вы писали:

IO>>, а приватные методы с большой?

_R_>Capitalization Rules for Identifiers

В табличке написано:

Property
Pascal
BackColor

без всяких уточнений (приватные или публичные).

Приватные вообще не обязаны регламентироваться стандартом, т.к. это не влияет на использование библиотеки.

_R_>Да-же проще, чем не выплатить заработанное.


Не понятно с какой целью вы здесь это пишите? Во-первых, вопросы оплаты я не решаю. Во-вторых, не всегда заказчик не прав. Работнички ведь тоже разные бывают. Могу сказать, что кроме вас проблемы по оплате ни с кем более не возникали.
Re[3]: Приватные методы с маленькой, публичные с большой
От: igor-booch Россия  
Дата: 22.01.12 20:04
Оценка:
По-моему эта мода пошла от исходников Microsort
Если Reflector'ом посмотреть их исходники, там все методы и приватные и публичные с заглавной буквы.
Зато там встречаются пары методов: публичный X и приватный XInternal.
Я придерживаюсь правила: приватные методы с маленькой буквы. У бывают пары: публичный X и приватный x. MS'подход мне не нравится, так как увеличивает длину названия метода.
http://rsdn.ru/Info/rules.xml
Re[9]: Приватные методы с маленькой, публичные с большой
От: _Raz_  
Дата: 22.01.12 21:14
Оценка:
Здравствуйте, IObserver, Вы писали:

IO>В табличке написано:


IO>Property

IO>Pascal
IO>BackColor

IO>без всяких уточнений (приватные или публичные).


А кто сказал, что уточнения должны быть. Ясно же сказано, что метод — с заглавной буквы.

IO>Приватные вообще не обязаны регламентироваться стандартом,


Обязаны.

IO>т.к. это не влияет на использование библиотеки.


При чем тут библиотеки? Это соглашения по написанию кода, но принимаются они для легкого чтения. Вот вы привыкли читать с маленькой буквы и ввели свой code style — но эта привычка далека от си шарпа. Более того — она вредна. Упрощая себе code review вы усложняете жизнь пишущим в правильном стиле, заставляя задумываться о том как пишешь, а не что пишешь и какой ... ввел это в корпоративный стандарт.

И доводы типа

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

и

Нужно смотреть относительно необходимости проверки аргументов на null.

не могут служить оправданием для отступа от общепринятых соглашений code style-а. Нет таких позиций относительно шарпа. Тут нет венгерской нотации и нет методов со строчной буквы. Плохо это или хорошо, нравиться тебе или нет, но это общепринятое соглашение. Есть code style — его нужно соблюдать. Точка. Только вот он должен быть не придуман кем-то в команде и не натаскан кусками из других языков программирования. Даже если 100% команды привыкли к стилю иного языка. Завтра придет новый разработчик и время на чтение существующего кода будет значительно выше, по сравнению с кодом написанным по правилам.
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 32>>
Re[4]: Приватные методы с маленькой, публичные с большой
От: IT Россия linq2db.com
Дата: 22.01.12 22:04
Оценка:
Здравствуйте, igor-booch, Вы писали:

IB>По-моему эта мода пошла от исходников Microsort

IB>Если Reflector'ом посмотреть их исходники, там все методы и приватные и публичные с заглавной буквы.

Эта мода пошла за долго до рефлектора и .net. В плюсах для приватных методов точно такое соглашение.
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: Приватные методы с маленькой, публичные с большой
От: Mr.Delphist  
Дата: 23.01.12 07:55
Оценка: +1
Здравствуйте, _Raz_, Вы писали:

_R_>При чем тут библиотеки? Это соглашения по написанию кода, но принимаются они для легкого чтения. Вот вы привыкли читать с маленькой буквы и ввели свой code style — но эта привычка далека от си шарпа. Более того — она вредна. Упрощая себе code review вы усложняете жизнь пишущим в правильном стиле, заставляя задумываться о том как пишешь, а не что пишешь и какой ... ввел это в корпоративный стандарт.


Корпоративный стандарт, батенька, может быть глупой выдумкой. А может быть и постарше нас с Вами, и тогда отступление от общепринятого может иметь очень давние корни десятилетий и высокую цену отказа от. Поэтому постепенно лично я пришел к правилу, что садясь за новый проект или инструмент, лучше не лезть туда со своим уставом, а переконфигурировать собственный мозг. А то до смешного доходит, когда народ даже раскладку клавиатуры под себя лепит, не говоря уже про набор шорткатов в IDE. Типа, так привык, и по-другому уже не умею.

Лёгкость вообще — понятие субъективное, равно как и "правильность". Иначе ведь можно было бы закрепить один "правильный лёгкий" способ на уровне синтаксиса языка и не париться.
Помнится, первый раз попробовал написать в студенчестве прогу на Сях (после освоения Паскаля). Написал код красиво, чтобы читать было "легко и правильно", все идентификаторы сделал с заглавной буквы... В том числе и функцию main() назвал Main() — а оно не компилит...
Re[3]: Приватные методы с маленькой, публичные с большой
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 23.01.12 08:23
Оценка:
Здравствуйте, QrystaL, Вы писали:

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

_NN>>А вот "protected" это приватный или публичный ? Аналогично с internal.

QL>К публичным относятся public, protected и protected internal.

QL>К приватным — private и internal.

Если уж делить область видимость членов на две категории, то не на (1) открытые и (2) закрытые, а тогда уж на (1) закрытые и (2) exposable. Т.е. все, что не приватное, то exposable, т.е. доступно кому-то вне этого класса. При этом у этого множества "досутпных не только мне" членов есть подмножества: открытые методы, закрытые, внутренние. В том же Eiffel-е класс может экспоузить свои члены конкретным классам, это не делает эти члены публичными.

Но в любом случае, различные идиомы именования методов в зависимости от области видимости — не приняты. Вот поля — другое дело. Сокласно Framework Design Guidelines открытые поля в PascalCase-е, а вот закрытые поля — в camelCase-е с возможность использования лидирующего подчеркивания.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.