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

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


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

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

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


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


Первый раз слышу про приватные методы с маленькой буквы
Re[2]: Приватные методы с маленькой, публичные с большой
От: IObserver Ниоткуда  
Дата: 22.01.12 15:59
Оценка: +1
Здравствуйте, _NN_, Вы писали:

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


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

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

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

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

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

Итого, с маленькой только чистый private.
Re[10]: Приватные методы с маленькой, публичные с большой
От: Mr.Delphist  
Дата: 23.01.12 07:55
Оценка: +1
Здравствуйте, _Raz_, Вы писали:

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


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

Лёгкость вообще — понятие субъективное, равно как и "правильность". Иначе ведь можно было бы закрепить один "правильный лёгкий" способ на уровне синтаксиса языка и не париться.
Помнится, первый раз попробовал написать в студенчестве прогу на Сях (после освоения Паскаля). Написал код красиво, чтобы читать было "легко и правильно", все идентификаторы сделал с заглавной буквы... В том числе и функцию main() назвал Main() — а оно не компилит...
Re: Приватные методы с маленькой, публичные с большой
От: Visor2004  
Дата: 23.01.12 11:44
Оценка: +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[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[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-е с возможность использования лидирующего подчеркивания.
Re[11]: Приватные методы с маленькой, публичные с большой
От: _Raz_  
Дата: 23.01.12 09:38
Оценка:
Здравствуйте, Mr.Delphist, Вы писали:

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


MD>Лёгкость вообще — понятие субъективное, равно как и "правильность". Иначе ведь можно было бы закрепить один "правильный лёгкий" способ на уровне синтаксиса языка и не париться.

MD>Помнится, первый раз попробовал написать в студенчестве прогу на Сях (после освоения Паскаля). Написал код красиво, чтобы читать было "легко и правильно", все идентификаторы сделал с заглавной буквы... В том числе и функцию main() назвал Main() — а оно не компилит...

Об этом и речь. Только вот не все доходят до правила переконфигурирования мозга, пусть даже и постепенно. Что печально.
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 32>>
Re: Приватные методы с маленькой, публичные с большой
От: koodeer  
Дата: 23.01.12 09:52
Оценка:
Я немного не пойму, почему многие отписавшиеся так упорно настаивают, что положено все методы писать с прописной буквы. Мол, это стандарт и гайдлайн. Но ведь сама студия генерирует методы-обработчики событий с маленькой буквы. Кидаем на ВинФорму кнопочку (например, имя у неё buttonOk), дабл-клик — создаётся метод buttonOk_Click. Как видим, с маленькой буквы. Насильно менять его на PascalCase? Что в этом случае делать?
Re[2]: Приватные методы с маленькой, публичные с большой
От: HowardLovekraft  
Дата: 23.01.12 10:33
Оценка:
Здравствуйте, koodeer, Вы писали:

K>Но ведь сама студия генерирует методы-обработчики событий с маленькой буквы

Это сниппет, который "пляшет" от имени источника событий, поэтому для холивара пример не годится.
Вообще, как в команде принято, так и пишем. Если в команде принято так, как в гайдлайнах — хорошо, новому разработчику будет легче. Если нет — плохо, но а что делать, не переписывать же из-за одного человека кучу кода.
Re[4]: Приватные методы с маленькой, публичные с большой
От: Аноним  
Дата: 23.01.12 18:09
Оценка:
Здравствуйте, _NN_, Вы писали:

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

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

И что вас привело к использованию такой нотации, откуда это вообще взялось?
Re[5]: Приватные методы с маленькой, публичные с большой
От: _NN_ www.nemerleweb.com
Дата: 23.01.12 18:38
Оценка:
Здравствуйте, Аноним, Вы писали:

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


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

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

А>И что вас привело к использованию такой нотации, откуда это вообще взялось?


Такой стандарт на кодирование.
Так что вопрос не ко мне.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Приватные методы с маленькой, публичные с большой
От: Lloyd Россия  
Дата: 23.01.12 18:46
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как минимум, в приватных нет проверки аргументов на null, а в публичных есть.


Очень сомнительное правило. А если я делегат на приватный метод передаю наружу (например, подписваясь на событие), то что, тоже не нужно делать проверки аргументов? Или обязательно должно сделать метод публичным?
Re[2]: Приватные методы с маленькой, публичные с большой
От: IObserver Ниоткуда  
Дата: 23.01.12 20:31
Оценка:
Здравствуйте, Visor2004, Вы писали:

V>Это вот с какой радости в приватных методах нет проверок?


Вопрос проверок аргументов на null сам по себе довольно спорный. Некоторые считают это пустой тратой времени (см. предыдущие обсуждения), т.к. ANE сейчас, по их мнению, ничем не лучше NRE потом.

Большинство соглашаются с тем, что в приватные методы передаются более менее достоверные данные (они как бы продолжением публичного метода, где все данные уже проверены). По этому проверки либо не используются вообще, либо используются Debug.Assert.
Re: Приватные методы с маленькой, публичные с большой
От: PSV100  
Дата: 26.01.12 14:40
Оценка:
Здравствуйте, Аноним, Вы писали:

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

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

Я с Net-ом не работаю, но позволю себе вставить здесь свои 5 копеек:

— посмотрите на язык Go: там точно так — с больших букв начинаются публичные элементы, и это синтаксис языка. Но там нет ни public, ни privat и прочего словестного шума;

— посмотрите код на Эрланге: там с большой буквы начинаются переменные, всё остальное — с маленькой. Это синтаксис языка, всё легко воспринимается без всяких "var" и пр.;

— в Хаскеле: всё, что касается типов — с большой, функции и переменные — с маленькой. Вся публичность описывается в начале модуля со всей документацией (комментариями), дальше — занимайся реализацией, думая конкретно о функционале, без заморочек — "privat"-ить здесь или "protected"-ить. В целом — образцовая стройность языка, и это его синтаксис;

— сугубо мой личный вкус: код с CamelCase или PascalCase читается хуже, чем в стиле "через_подчеркивание" или "в-стиле-лиспа". В некоторых языках идут на компромисс: GetURL, getURL, GetUrl, get_url, GET_URL — одно и то же, каждый форматирует себе в соответствии своих фломастеров.

Я это всё к тому, что и С#, и Java — языки не шибко выразительные и стройные, как их не крути. Поэтому, с большой или с маленькой буквы в них приватные методы — фактически пофиг: это такой же костыль как и венгерская нотация. Т.е. это вторично, здесь важно просто наличие хоть какого-то стандарта, и лучше общего для всех, т.е. то, что сказала партия, будь то мелкософт или сан с оракулом. В жабе, насколько я имею представление, особенно не возникает вопросов по поводу корпаративных стандартов, там особо нет смысла что-то своё выдумывать — легче не станет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.