Bu şimdiye geleneksel olarak dosyalarımı organize ettik nasıl. Bununla birlikte, daha büyük uygulamalarla, herşeyi ayrı ayrı organize etmek için gerçekten bir acıya dönüştüğünü buldum. Bu konuda gittiğim 'yeni' bir yol dosyalarımı değil, özellik olarak düzenliyor. Yani, örneğin:
js/feature1/someView.js
js/feature1/someController.js
js/feature1/someTemplate.html
js/feature1/someModel.js
Ama çoğu zaman siz "kullanıcı" ya da kullanıcı inşa etti yerlerin bir koleksiyonu gibi, gerek "şeyler" küresel vardır. Yani: o zaman özellik setleri, paketin üzerinde çalışmak ve onları daha az eforla requirejs kullanarak dağıtabilir çünkü
js/application/model/user.js
js/application/collection/location.js
Bu desen bana önerildi. Ayrıca, özellik kümeleri arasında meydana gelen bağımlılık olasılığını da azaltır, böylece bir özelliği kaldırmak veya yeni bir kodla güncelleştirmek isterseniz, her dosya için avlanmak yerine bir 'şeyler' klasörünü değiştirebilirsiniz. Ayrıca, IDE'lerde, üzerinde çalıştığınız dosyaları bulmak daha kolay hale getirir.
İki sent'im.
Düzenleme: Özellik dosyaları nedir?
Bazı düşünceler - sadece size en doğal görünen birini seçmeniz gerektiğini düşünüyorum.
- Özellik dosyalarıyla aynı 'özellik klasörü' desenini takip edebilirsiniz. Tüm özelliklerin tek bir yerde olması, yukarı doğrudur. Olumsuz olan şu ki, şu anda yaptığınız gibi, bir özelliğin dosyaları için yer var.
- Özelliklere, özellik klasörünün 'spec' klasörüne yerleştirebilirsiniz. Bunun tersi, artık tek bir zip dosyasında başka işlere rastlanma şansı olmayan gerçek paketlere sahip olmanızdır. Testleri yazmak için doğrudan ilgili dosyaları bulmak da daha kolay - hepsi aynı üst klasörde. Dezavantajı şu ki, üretim kodunuz ve test kodunuz aynı klasörde (muhtemelen) dünyaya yayınlanıyor. Muhtemelen üretim javascript bir noktada bir dosya aşağı derleme sonunda verilecektir .. bu yüzden bu kadar bir sorun değil emin değilim.
- Öneri - bu büyük bir uygulamasa ve dosyalara dokunan birkaç eliniz olacaksa, klasörde bir 'package.json/yml/xml' dosyası gibi bir şey bırakın. Orada, test için ihtiyaç duyduğunuz üretimi, spesifikasyonu ve veri dosyalarını listeleyebilirsiniz (büyük ihtimalle sizin için bunu yapmak için hızlı bir kabuk komut dosyası yazabilirsiniz). Sonra 'package.whateverYouChose' dosyaları için kaynak klasörünüze göz atmak, test dosyalarını almak ve ardından birim test sayfanızı oluşturmak için hızlı bir komut dosyası yazın. Yani, başka bir paket eklediğinizi varsayalım .. 'updateSpecRunner' komutunu çalıştırın ya da betiği adlandırdığınız her şey varsa, size başka bir SpecRunner.html dosyası (ya da dosyaya hangi özellikleri eklediğinizi isimlendirirseniz) oluşturur. Ardından, bir tarayıcıda manuel olarak test edebilir veya phantomjs/rhino kullanarak otomatikleştirebilirsiniz.
Bu mantıklı mı?
Özellik dosyaları nedir? – js999
Cevabımı sadece bir dakika içinde güncelleyeceğim. – Stephen
teşekkürler, kabul etmeden önce asnwer çalışacağım ... +1 zamanın için teşekkürler – js999