2010-04-06 15 views
9

To pytanie jest podobna do Why are methods in Ruby documentation preceded by a hash sign?Nawiązując do JavaScript metody instancji ze znakiem funta/hash

rozumiem dlaczego w Ruby metody instancji są przystąpił ze znakiem funta, pomagając w celu odróżnienia mówić o SomeClass#someMethod z SomeObject.someMethod i pozwalając rdoc do praca. Rozumiem, że autorzy PrototypeJS podziwiają Ruby (nie bez powodu) i dlatego używają nazwy hash mark convention in their documentation.

Moje pytanie brzmi: czy jest to standardowa praktyka wśród programistów JavaScript, czy jest to po prostu twórcami prototypów, którzy to robią?

Zapytany w inny sposób, czy właściwe jest odwoływanie się do metod instancji w komentarzach/dokumentacji jako SomeClass#someMethod? A może moja dokumentacja powinna odnosić się do `` SomeClass.someMethod`?

Odpowiedz

8

Nie, jeszcze nie spotkałem innego projektu JavaScript, który używa tego zapisu.

Coś takiego jest przydatne w JavaScript, ponieważ w przeciwieństwie do wielu języków Class.methodName odwoływałoby się do metod klasowych, takich jak String.fromCharCode, a nie do metod instancji, o czym często mówisz. Metoda wywoływana przez myinstance.methodName nie byłaby MyClass.methodName, ale MyClass.prototype.methodName, a MyClass.prototype jest uciążliwością w utrzymywaniu pisania.

(Standardowa biblioteka JS myli to poprzez wiele metod przykład mieć również odpowiednią classmethod. Ale są różne funkcje.)

jest to proepr mi odnieść się do metody instancji w komentarzach/dokumentacja jako SomeClass # someMethod?

Rób to, co lubisz/znajdź najbardziej czytelne. Tu nie ma standardu.

+0

Dobra odpowiedź. Więc jeśli czytasz moją dokumentację i konsekwentnie używałam # do oznaczania metod instancji, myślisz, że będzie to dla ciebie jasne? – Josh

+1

Byłoby dla mnie jasne z innych języków. Nie spodziewałbym się, że autorzy JS to znają, ale mam nadzieję, że jest to grokkable z kontekstu! – bobince