Akışta Kalmak
(… veya , Neden Tek Dosyalı Programlama Konusunda Takıntılı Oldum ve Siz de Takınmalısınız)
Okulda ve yine erken kariyer ortamlarında bize söylenen büyük yalan, programlamada "iyi" olmanın, gittikçe daha zor sorunları daha zarif bir şekilde çözmek olduğudur. Gerçek şu ki, programlamada iyi olmak, çoğunlukla önemsiz olan çok sayıda sorunu hızlı ve temiz bir şekilde verimli bir şekilde çözmekle ilgilidir. Bununla birlikte, doğru olan, bunu yapmak için "akış durumunun" ne kadar değerli olduğudur. İşe kendinizi kaptırabilmeniz, etki alanları arasında hızla geçiş yapmanızı, kullanıcıdan iş mantığına, veri deposuna ve tekrar geri durum akışını izlemenize olanak tanır.
Pek çok “İyi” programlama uygulaması karmaşıklık katar:
- Ayrı modeller, görünümler ve denetleyiciler.
- Tüm testlerinizi paralel dosya ve klasörlerde tutun.
- CSS'yi satır içi yapmayın — sınıf ve kimliğe göre başvurulan ayrı CSS dosyalarından oluşan bir hiyerarşide tutun.
- Hatta CSS YAZMA — bir önişlemci kullanın ve onu bazı ara dillerden oluşturun.
- Thin_gs'yi adlandırmak için her biri kendi Standart kuralları olan paketlerin ve modüllerin iç içe geçmiş ad alanlarını kullanın.
Anket ölçeklerinin, ortalama bir insanın ayırt etme yeteneğine (genellikle 5-7 seçenek, hiçbir zaman 9'dan fazla değil), daha az dosyaya, daha az türe dayanan ve mümkün olduğunca düz bir hiyerarşi içinde organize edilen çerçevelere karşı çizilmesiyle hemen hemen aynı şekilde. yeni geliştiricilerin hız kazanması daha basit ve üzerinde çalışırken HERKES için akış durumunda kalması daha kolay.
"İyi" programcılar, PHP ve javascript'i "kötü" diller oldukları için karalamayı severler; yine de her ikisi de basit "Tek dosya" modellerini desteklemekle dikkat çekiyor. Javascript bunu JSX aracılığıyla yapar; PHP, her php betiğinin isteğe bağlı HTML içermesine de izin verir. Tek Dosya geliştirmenin sevincini Python için yeniden yaratmaya karar verdim. Bu, umarız "Notebook" python veri bilimi toplulukları, "Boot Camp" yazılım geliştirici toplulukları ve web uygulaması geliştirmenin ön safları arasındaki bariz boşlukları kapatacaktır.
Sonraki birkaç blog gönderisinde, geliştirme deneyimimi basitleştirmek ve düzene sokmak için benimsediğim birçok "kötü" uygulamadan bahsedeceğim. Daha da iyisi, yol boyunca keşfettiğim, genişlettiğim veya geliştirdiğim çeşitli açık kaynak kitaplıklarını duyuracağım.