Önsöz: Bu hızla yükseldi. Ama çekmeye karar verdim. Bu cevap size ve diğer okuyuculara yardımcı olabilir.
Kod İpucu
JSLint ve JSHint kullanmak için iyi bir araç olsa da, yıllar içinde arkadaşım @ugly_syntax'ın ne dediğini takdir etmeye geldim :
daha küçük tasarım alanı .
Bu, bir "zen keşiş" gibi, kişinin yapması gereken seçimleri sınırlandıran, daha üretken ve yaratıcı olabilen genel bir ilkedir.
Bu nedenle benim en sevdiğim sıfır yapılandırma JS kod stili:
Standart JS .
GÜNCELLEME :
Akış çok gelişti. Bununla birlikte, çok sayıda hata önlemenize yardımcı olacak JS'nize türler ekleyebilirsiniz. Ancak, örneğin türlenmemiş JS'yi arayüzlerken de yolunuzun dışında kalabilir. Bir şans ver!
Hızlı başlangıç / TL; DR
standard
Projenize bağımlılık olarak ekleyin
npm install --save standard
Ardından package.json
, aşağıdaki test komut dosyasını ekleyin:
"scripts": {
"test": "node_modules/.bin/standard && echo put further tests here"
},
Geliştirirken daha üstün çıktı için npm install --global snazzy
ve yerine çalıştırın npm test
.
Not: Sezgisel yöntemlere karşı tip kontrolü
Arkadaşım tasarımı yerden söz anılacaktır Elm ve ben o dilini denemeye davet ediyoruz.
Neden? JS aslında türlenmemiş özel bir dil sınıfı olan LISP'den esinlenmiştir . Elm veya Purescript gibi dil, işlevsel programlama dilleri olarak yazılmıştır .
Derleyicinin dili veya kendi programınızın kurallarını ihlal ettiğinizde sizi kontrol edebilmesi ve yönlendirebilmesi için özgürlüğünüzü kısıtlayın; programınızın boyutundan (LOC) bağımsız olarak.
Son zamanlarda genç bir meslektaşımız iki kez reaktif bir arayüz uyguladı: bir kez Elm'de, bir kez React'de; neden bahsettiğim hakkında bir fikir edinmek için bir göz atın.
Karşılaştır Main.elm
(yazılmıştır) ⇔ index.js
(türsüz, test yok)
(ps. React kodunun deyimsel olmadığını ve geliştirilebileceğini unutmayın)
Son bir açıklama,
gerçek şu ki JS türü çözülmemiş. Size kim yazım programlama öneririm ?
Bakın, JS ile farklı bir alandayız: türlerden arınmış, uygun bir tür vermek zor veya imkansız olan şeyleri kolayca ifade edebiliriz (ki bu kesinlikle bir avantaj olabilir).
Ancak türler olmadan, programlarımızı kontrol altında tutmak için çok az şey var, bu yüzden testler ve (daha az genişletmek için) kod stillerini uygulamaya zorlanıyoruz.
İlham almak için LISP'ye (örn. ClojureScript ) bakmanızı ve kodlarınızı test etmeye yatırım yapmanızı öneririm . Bir fikir edinmek için alt ekibin yolu bölümünü okuyun .
Barış.
Combine this with the previous 'var' statement
->Do not mix 'require' and other declarations
, paradoks.