2011-12-31 6 views
12

Zawsze zastanawiałem się, czy użyć, aby używać identyfikatorów (na przykład funkcji) z wielką literą zamiast wielbłąda. Zawsze piszę JS w przypadku wielbłąda tak:Kiedy należy nadawać nazwy dużymi literami?

function doStuff() {} 

var simpleVar = 'some stuff', 
    myAry = [], 
    myObj = {}; 

... Ale wiem, że powinienem wymienić kilka rzeczy z kapitałem pierwszych liter. Po prostu nie wiem, kiedy ta zasada ma zastosowanie. Mam nadzieję, że ktoś może sprawić, że sprawy staną się dla mnie bardziej zrozumiałe.

+1

Interesujące - http://stackoverflow.com/questions/921133/javascript-naming-conventions i http://javascript.crockford.com/code.html –

Odpowiedz

17

Według książki „javascript: dobrych części”, należy wykorzystać tylko pierwszą literę nazwy funkcji, kiedy trzeba zbudować obiekt przez „nowych” słowa kluczowego.

Nazywa się to "Wzorem wywołania konstruktora", sposobem na dziedziczenie.

4

Konwencja nazwa wskazuje, że nazwy klasy są nazywane z pierwszą literą, nie jestem pewien, jak to jest jak z javascript, który jest językiem prototyp oparty, ale w zasadzie to

class ClassName 
var varName 
function funcName() 
12

Konwencja jest na nazwę constructor functions (tj. funkcje, które będą używane ze słowem kluczowym new) z początkowym kapitałem.

function MyType(simpleVar) { 
    this.simpleVar = simpleVar; 
} 

myObject = new MyType(42); 
+1

Co ze zmiennymi, które zaczynają się od dużej litery , ponieważ odnoszą się do akronimu - czy pierwsza litera, czy cały akronim powinien być pisany małymi literami? Przykład: 'ECBhandle' vs.' ecbHandle' (nie ma znaczenia, co oznacza EBC). –

+1

@DanDascalescu: Osobiście traktuję akronimy tak samo jak zwykłe słowa, więc w tym przypadku wybrałbym 'ecbHandle'. Inne przykłady to 'parseXml' lub' isbn'. Dotyczy to również funkcji konstruktora: np. 'XmlParser'. – PPvG

+0

Lubię stałe, które mają być oznaczone jako ALLCAPS. Wydaje się działać. – akauppi

Powiązane problemy