Czy istnieje przewodnik po stylu kodowania dla node.js (lub kilka)? Jeśli nie, jakie nowe style są używane w najpopularniejszych projektach węzłów typu open source?
Szukam przewodnika (lub kilku przewodników) na wzór PEP 8 , kanonicznego przewodnika po stylu kodowania dla Pythona. Widziałem różne przewodniki JavaScript, których nie warto tutaj linkować (głównie stare i ukierunkowane na JavaScript po stronie klienta). Znalazłem Interesującą node.js przewodnik stylu .
Przewodnik po stylach kodowania lub konwencje kodowania powinien zawierać (ale nie tylko):
- Układ kodu: wcięcia (2 spacje, 4 spacje, tabulatory, ...), nowe linie, podziały wierszy itp.
- Białe znaki, np. „Funkcja (arg)” a „funkcja (arg)”
- Średnik lub brak średnika, deklaracja zmiennej, ...
- Nazewnictwo, np. Do_this () vs. doThis (), var_name vs. varName, ...
- node.js i idiomy JavaScript, np. == vs. ===, pierwszy argument wywołania zwrotnego jest obiektem błędu, ...
- Komentarze i dokumentacja
- Narzędzia towarzyszące, takie jak sprawdzanie kłaczków, środowisko testów jednostkowych, ...
Ten temat jest oczywiście wysoce subiektywny, ale myślę, że jest to ważny krok społeczności, aby ustanowić wspólny i powszechnie akceptowany styl kodowania w procesie dojrzewania. Nie chodzi tylko o smak. W szczególności reguły takie jak „użyj === zamiast ==” mają bezpośredni wpływ na jakość kodu.
źródło
Odpowiedzi:
Chciałbym przejrzeć standardy kodowania sprawdzone przez JSLint lub spojrzeć na autora standardów kodowania NPM (Isaaca Shluetera) .
Możesz również przyjrzeć się stylowi używanemu przez znanych programistów Node.JS:
Będę rzucać kopalni tam na wszelki wypadek;)
Edycja: sugestie od @alienhard
IMO jest kilka złotych zasad, których powinieneś przestrzegać:
with
lubeval
===
ponad==
var
w odpowiednim zakresie - nie wracaj do zasięgu globalnego(function(){})()
jeśli planujesz wydać kod działający po stronie serwera, a także w przeglądarceerr
jako pierwszy argument, a jeśli same przyjmują callback jako argument, to powinien być ostatni, npcallback(err, param1, param2, callback)
Wcięcia, odstępy między nawiasami klamrowymi i słowami kluczowymi oraz umieszczenie średników to kwestia preferencji.
źródło
W mieście pojawił się nowy standard.
Użyj stylu standardowego .
źródło
standard
pakiet nie lubi średników. Jeśli lubisz średniki, jest półstandardMożesz nauczyć się wielu dobrych praktyk związanych ze stylem kodowania z przewodników JavaScript zorientowanych na klienta (większość z nich odnosi się również ogólnie do node.js, ponieważ różnica między stroną klienta i serwera występuje głównie w bibliotekach, a nie w samym języku). Na przykład książka Wzorce JavaScript poświęca temu tematowi niektóre części rozdziału 2 . Również strona internetowa , książka i filmy Douglasa Crockforda są materiałami, które trzeba zobaczyć, aby przyjąć style kodowania specyficzne dla JavaScript i najlepsze praktyki, powiedziałbym.
źródło
Podczas korzystania z węzła z terminala, przydatne jest, aby kod źródłowy używał spacji do wcięć. W przeciwnym razie daszek „błąd tutaj” nie będzie wyrównany.
Z zakładkami:
var preps = files.map(function(f) { ^ TypeError: Cannot call method 'map' of null
Ze spacjami:
var preps = files.map(function(f) { ^ TypeError: Cannot call method 'map' of null
Może to być problem tylko dla komputerów Mac, ale podejrzewam, że nie.
źródło
Minęło trochę czasu, odkąd zadałem to pytanie ... a tymczasem znalazłem doskonały przewodnik po JavaScript:
Zasady pisania spójnego, idiomatycznego JavaScript
https://github.com/rwldrn/idiomatic.js/
źródło
Airbnb ma całkiem dobry przewodnik po stylu Javascript https://github.com/airbnb/javascript
źródło
W przypadku Coffee-Script, gdzie złe wcięcia oznaczają błędy kompilacji
posługiwać się
:set tabstop=2 :set shiftwidth=2 :set expandtab
popularne projekty kawy
zombie
,brunch
używa tej konfiguracji na wgniecenia.Edytować:
Właściwie po prostu użyj tego! https://github.com/paulmillr/code-style-guides (jeden z głównych współtwórców
brunch
)źródło