Właśnie zaczynam się uczyć języka C #. Pochodząc z tła w Javie, C ++ i Objective-C, uważam, że pascal C # w swoich nazwach metod jest raczej unikalny i na początku trudno się do niego przyzwyczaić. Jakie jest tego rozumowanie i filozofia?
Zgaduję, że to ze względu na właściwości C #. W przeciwieństwie do Objective-C, gdzie nazwy metod mogą być dokładnie takie same jak zmienne instancji, nie jest tak w przypadku C #. Sądzę, że jednym z celów właściwości (podobnie jak w przypadku większości obsługiwanych języków) jest uczynienie właściwości naprawdę nierozróżnialnymi od zmiennych i metod. Tak więc można mieć „int x” w języku C #, a odpowiednia właściwość staje się X. Aby zapewnić, że właściwości i metody są nierozróżnialne, wszystkie nazwy metod, które, jak sądzę, powinny zaczynać się również od dużej litery. (To tylko moja hipoteza oparta na tym, co wiem o C # do tej pory - wciąż się uczę). Jestem bardzo ciekawy, jak powstały te dziwne wytyczne (biorąc pod uwagę, że „
(EDYCJA: Przez obudowę Pascala mam na myśli PascalCase (która jest w zasadzie camelCase, ale zaczyna się od dużej litery). Nazwy metod zwykle zaczynają się od małej litery w większości języków)
Odpowiedzi:
To kwestia gustu. Ktoś kiedyś zdecydował się na styl Pascal dla nazw i stał się standardem.
Zgaduję, że to Anders Hejlsberg , architekt Delphi, następca Pascala. Styl obudowy jest taki sam, jak w języku C #.
źródło
Jeśli pytasz o powody, oto jeden prosto z pyska konia:
Historia wokół Pascala Casinga i artykułu Camel Casing autorstwa Brada Abramsa na blogach MSDN
A oto wytyczne projektowe: Wskazówki projektowe dla programistów bibliotek klas
źródło
TurboPascal
jest dzieckiemPhilip Kahn
(akaBorland
), co jest bardzo wygodne dla Microsoftu, aby zapomnieć. Polityka ....Nie wiem o filozofii, ale obudowa Pascala wydaje się być powszechna na platformach Microsoft od co najmniej dni API Win32.
źródło
Nie sądzę, żeby kryła się za tym konkretna filozofia. Potrzebne były wytyczne, które mogły mieć na to wpływ:
źródło
Nie wiem, czy za obudową kryje się „filozofia”, poza tym, że jest ładna i zwarta i może z łatwością pojawiać się jako wiele słów bez użycia podkreślników.
W ciągu ostatnich kilku dekad istniało wiele odmian obudów. Ich zakres wahał się od bardzo zwięzłego (patrz C i standardowa biblioteka C) do pełnych z podkreśleniami oddzielającymi każde słowo. Chociaż konwencja nazewnictwa bibliotek .NET jest wciąż dość gadatliwa, myślę, że uderza w coś pośredniego, jeśli chodzi o obudowę.
źródło
(- var1 var2)
Zgadując dziko (ale nie bez uzasadnienia, IMHO) - projekt C # był nadzorowany przez Niklausa Wirtha , oryginalnego wynalazcę Pascala. Widzisz połączenie? ... :)
Ciekawy # 1: Pozytywnie pamiętam zapowiedź .NET i C # (tak, jestem prehistoryczny ...) oraz to, jak Microsoft chwalił się, mając imię Wirtha na C #. Jednak strony Wikipedii na żadnym z nich (C # i Wirth) nie wspominają o tym.
Curious # 2: Chociaż nazywa się
PascalCase
, został spopularyzowany przezTurboPascal
kompilator (który ostatecznie stał sięBorland
), a nie sam język.źródło