2009-10-22 3 views
8

Я понимаю причину для имен переменных верблюда, но я всегда задавался вопросом, почему вы вернули бы название метода? почему это toString(), а не ToString()? Какой цели это служит?имена методов верблюда

+4

Сообщите нам, что вы понимаете как «причина для имен переменных верблюда», а затем, возможно, мы сможем сказать вам «причина для верблюжьего случая с именем метода» :) – AakashM

+1

Оба на самом деле - верблюд, нижний или верхний. Это всего лишь соглашение, чтобы быстро определить, что в вашем коде, и чтобы оно выглядело более знакомым для других людей, которым нужно его просматривать. – RedGlyph

+0

Я предположил, что это было потому, что вы могли объявить тип с верхним регистром и создать экземпляр его с именем переменной нижнего регистра, чтобы избежать именования коллизий - кстати, я не использую это соглашение об именах верблюдов, но мне всегда было любопытно рациональный позади некоторых из них. – Jeremy

ответ

5

Это просто конвенция. Как и все условные обозначения, которые они используют только в умах своих создателей, код легче читать и поддерживать.

+0

Также .NET принял 'ToString()' как соглашение, а не 'toString()', вопреки Java. – Joey

+0

Хорошо, но почему нижняя оболочка первого слова имени метода облегчает чтение? – Jeremy

+0

Некоторые программисты выросли на верблюжьей оболочке для всех своих переменных, т. Е .: int someInt, поэтому это своего рода естественная прогрессия для их методов. Подобно тому, как некоторые люди утверждают, что венгерская нотация (http://en.wikipedia.org/wiki/Hungarian_notation) чрезвычайно проста в чтении, в то время как другие не согласны. Это похоже на возрастные дебаты о том, будут ли фигурные фигурные скобки идти по одной и той же линии или следующей строке :) – popester

2

Потому что, чтобы быть последовательным, вам нужно будет загладить первую букву имени каждого метода, а затем вам нужно нажать клавишу Shift, чтобы еще много раз в день.

+0

gee спасибо за анонимный нисходящий звук от моего анонимного нисходящего потока до моего совершенно правильного, но слегка саркастического наблюдения – kurosch

1

Я не думаю, что есть какие-либо причина, это только конвенции и каждый может иметь свою собственную.

1

Если вы хотите функцию

write(); 

, что требует меньших усилий (один меньше SHIFT нажатие), чем

Write(); 

Однако, если вы пишете в файл, необходимо различать слова. Следовательно

writeToFile(); 

является немного более эффективным (и по-прежнему в соответствии с первым примером)

+5

В современных IDE с IntelliSense это больше не верна. – SLaks

+0

В современных IDE с IntelliSense это, возможно, меньше, чем проблема. Я бы вообще не отклонил его. Многие люди (правильно или неправильно) не используют IDE (по какой-либо причине) –

1

Обычно вы склонны следовать тот, который использует ваш каркас. Поэтому разработчики Java имеют тенденцию использовать строчные буквы для запуска, а разработчики .NET обычно используют заглавные буквы для запуска.

3

Потому что это то, что любили оригинальные дизайнеры Java.

+0

Да почему? Обычно вы бы делали что-то, я думаю, чтобы служить цели ... – Jeremy

+0

Потому что они предпочитают именно так. – SLaks

21

Многие соглашения говорят, что вы используете первую букву типов (классы, структуры, перечисления и т. Д.), А в противном случае используйте строчные буквы (функции, члены и т. Д.).

Если следовать этому соглашению, вы можете сказать, просто посмотрев, что MyStruct.MyType относится к вложенному типу и MyStruct.myData относится к той или иной форме данных, и MyStruct.myFunc() относится к вызову функции.

1

Если вы еще не читали wikipedia page, в нем содержится все, что вы когда-либо могли бы узнать на корпусе верблюда, включая его историю.

CamelCase (также пишется «верблюд случай») или медиальной столиц практика писать сложные слова или фразы в которых элементы соединены без пространств, с начальным буквы каждого элемента капитализируются в соединение.

И

Одна из теорий о происхождении верблюда случае конвенции гласит, что C программисты и хакеры просто нашли более удобным, чем стандартный подчеркивание на основе стиля.

C программисты ленивы? Я очень сомневаюсь в этом.

+0

Подчеркнутый стиль восходит к EBCDIC, который не поддерживает смешанный случай. Переменные выглядели как THIS_VARIABLE. Переключите это в ASCII, и вы получите this_variable, который легче читать. Использование thisVariable еще проще, и это то, что мы делаем на чувствительных к регистру языках. Интересно, что на нечувствительных к регистру языках, таких как SQL, нередко можно найти подвалы. –

+0

EBCDIC поддерживает смешанный футляр. 6-битные коды BCD были (обычно?) Все-прописными. –

13

Мы используем нижний регистр на первой букве, чтобы сохранить небольшие чернила в наших распечатках.

+0

смешной, но разумный. думать глобально, действовать локально. UPVOTED :) –

0

Друг сказал мне, что исследование показало, что люди могут легче читать код, если типы были верблюжьим футляром, с первой буквой в верхнем регистре, а переменные были сделаны. Это, безусловно, делает разницу между типами и переменными выпрыгивает.

Я никогда не знал, что было бы более ясным для имен функций. Я обычно рассматривал заглавные буквы первой буквы, но, прочитав это, я думаю, что было бы более понятно не различать имена типов и имена методов (да, на некоторых языках сигнатура метода является типом, но вы знаете, что я имею в виду !)

+3

Я всегда циничен ответам, которые начинаются «Друг сказал ...» без цитаты. Ссылка на исследование будет хорошей :) – Andrew

1

Pascal case Первая буква в идентификаторе и первая буква каждого последующего конкатенированного слова капитализируются. Вы можете использовать случай Pascal для идентификаторов из трех более символов. Например: BackColor

Прописные Все буквы в идентификаторе капитализируются. Используйте это соглашение только для идентификаторов, которые состоят из двух или менее букв или аббревиатур, таких как BSU и UCS. В приведенном ниже примере IO и UI являются идентификаторами верхнего регистра, тогда как System следует за стилем капитализации Pascal, поскольку длина больше двух. Например: System.IO; System.Web.UI

Camel случай Первая буква идентификатора в нижнем регистре и первая буква каждого последующего соединенного слова заглавная. Например: BACKCOLOR

Следующая ссылка суммирует правила капитализации и приводятся примеры для различных типов идентификаторов и элементов в вашем веб-приложений/project.Hopefully эта ссылка будет полезна для Вас

https://dotnetprod.bsu.edu/AdminConsole/Documentation/ASPDotNet/CodingStyle/NamingConventions/Capitalization.aspx

2

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

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

В течение многих лет программирование развивалось, чтобы иметь множество соглашений, в то время как многие из них очень разные, существует много людей, с которыми люди склонны соглашаться. Тем не менее, вы обнаружите, что ответы на «почему вопросы», например, вы опубликовали, не всегда связаны с чем-то совершенно конкретным.

Смежные вопросы