JavaScript için herhangi bir kodlama standardı var mı? [kapalı]


178

JavaScript için belirlenmiş kodlama standartları nelerdir?


1
Bu soruyu görmeye devam etmek Google aramada hala görünüyor Bu eklemeyi alakalı olabilir düşündüm. JavaScript, ECMA standartlarına uygun olarak ECMAScript betiğinin bir uygulamasıdır. Standart ECMA-262 . ECMA wiki sayfasından eklemek için :Netscape delivered JavaScript to Ecma International for standardization and the work on the specification, ECMA-262, began in November 1996
Hayır

12
Kapalı VE korumalı. Ha!?!
Robbie Dee


12
//, bu neden KAPALI? Yeni Javascript programcıları için mükemmel bir soru. Özellikle yeni programcılar tarafından yazılmış en orijinal Javascript kodunun, ah, durumu göz önüne alındığında.
Nathan Basanese

1
Güncel kodlama standartları için Airbnb JavaScript Stil Kılavuzunu kullanabilirsiniz github.com/airbnb/javascript
Naresh Chennuri

Yanıtlar:


76

Tam olarak aradığınız şey değil, ama (Doug Crockford'un vids'i gibi) JS yazan / düzenleyen / yorum yapan herkesin, Chris Heilmann'ın slaytlarına ve videolarına bakımı yapılabilecek javascript üzerine bakması gerektiğini düşünüyorum .

Gelen slaytlar , 127 slayt, bütün kod VCS teslim yeniden biçimlendirmek, stil kılavuzları / kod standartları hakkında çok endişelenmeyin söylüyor.

Ayrıca bunlar:

Mozilla JavaScript İpuçları

JavaScript Stil Kılavuzu


2
Google'ın ayrıca bir stil kılavuzu vardır: google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
Ağustos

3
Bu soruyu çözmek için (biraz esnekliğe izin verirken bir JavaScript Kod Stili bulma ve karar verme), bazı ayarlara göre özel kod stilleri oluşturabileceğiniz jscode.org oluşturdum (evet, açık gibi görünebilir reklam var, ama orada hiçbir şey kazanmıyorum, sadece kendim ve ekibim için inşa ettim ve bence iyi bir değer).
Bruno Bernardino

Mozilla JavaScript İpuçları çok seyrek, ben dahil etmem.
Bulanık Analiz

24

Crockford'un JavaScript kodlama yönergelerinin izlenmesi için iyi bir fikir olmasının başka bir nedeni :

Bu kod (aşağıda) aslında JavaScript'in noktalı virgül enjeksiyonu nedeniyle tanımlanmamış olarak döner - bu, tüm geliştirici ekibinin aynı şarkı sayfasından şarkı söylemesi için iyi bir neden:

return // injected semicolon, therefore returns 'undefined'
{
    javascript : "fantastic"
}; // object constructs anonymously but nothing happens with it.

Biraz daha bu konuda en JavaScript'in noktalı virgül ekleme dikkat


2
Bu yönergelerden bazılarını otomatikleştirmeye / doğrulamaya yardımcı olacak JSLint de vardır. jslint.com
Funka

10

Daha önce kabul edilmiş bir JavaScript kodlama standardı görmedim. Bir süre önce kendimizi yazdık ve işverenime uygun olarak blogumda yayınladım .

Bazı yönergelerin biraz modası geçmiş olabileceğini unutmayın.


Bu belgede 'C # programlama yönergeleri' referansı var. Herkese açık olarak da var mı?
z-boss


6

Google Code Wiki'de bazı basit ama önemli kodlama kurallarını bulabilirsiniz .

Çok ayrıntılı stil kılavuzları için Dojo Stil Kılavuzunu okuyun . Adlandırma kuralları, dosya kuralları, değişken kullanım, kod düzeni, boşluk ve yorumlar üzerinde devam ediyor.


4

Idiomatic.js ve jQuery Çekirdek Stil Kılavuzu cevaplarında bulamıyorum biraz şaşkın . Addy Osmani, "JavaScript Stil Kılavuzları ve Güzelleştiriciler" makalesinde bu ikisini JavaScript için tam kodlama stilleri listesinin en üstüne koyuyor.

Şahsen jQuery standardını tercih ediyorum, ancak Idiomatic.js'den çok farklı değil. Ancak hangi standardı seçerseniz seçin, ne kadar başarılı olduğunuzu kontrol etmek için bir doğrulayıcıya ihtiyacınız olacaktır. Ben jQuery veya en azından Deyim için herhangi bir bulamadık, ama sonunda JS_CodeSniffer ile geldi



2

Ben ve birkaç başka yakın zamanda biraraya bunlar (PDF veya HTML)

Öncelikle Ajax Kontrol Araç Seti ile birlikte kullanılmak üzere tasarlanmıştır, ancak hangi çerçeveyi kullanırsanız kullanın gerçekçi bir şekilde her türlü yararlı rehberliği içerir.

Umarım yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.