Kodlama yaparken, mümkün olduğunca küçük değişiklikler yapın
Bir süre geliştirdikten sonra ve özellikle başkaları tarafından sunulan bilgeliği dinlemeye devam ederseniz, bazı alışkanlıklar elde edersiniz. Alışkanlıklar bilinçli olarak düşündüğünüz şeyler değildir, ancak büyük farklılıklar yaratabilirler. Son zamanlarda sahip olduğum alışkanlıklardan birinin, yapabileceğim kodda her zaman mümkün olduğunca küçük değişiklikler yapmak istediğimi keşfettim. Bu genellikle daha basit bir çözüme yol açar. Bugün, sezgiyi sizi bunun doğru olduğuna ikna edeceğini umduğum şekilde keşfetmeye çalışacağım.
Bu PHP veya JavaScript hakkında bir makale değil. Veya diğer programlama dilleri hakkında. Bu, yaptığınız herhangi bir programlama için uygulayabileceğiniz genel kurallarla ilgili değildir. Bu küçük bir şeydir, ancak küçük şeyler genellikle büyük problemlerin kökleridir. Bu bunlardan biri: Zaman zaman çok daha iyi bir kod yapabileceğiniz en küçük değişikliği yapmak. Hikaye eşleştirildi
Çoğu işlev, ancak bazen Chrome’da (Mac ve Windows’ta), üstün görüntüde hiçbir şey yapmadığınızda mesaj kısaca görünecektir. (Bu davranış Firefox’ta gerçekleşmez. Firefox her şeyde üstün bir tarayıcıdır. P) Ne olacağını buluyoruz, biz de zaman zaman Chrome’un görüntünün boyutunu kontrol ederken bozulacağıdır. Bu, görünür bir nedenden ötürü olmasa da resmin 0px ila 0px olduğunu bildirecektir. Bu çok aralıklı oldu ve yaklaşık 30 dakika sonra altta yatan nedeni bulmaya çalıştıktan sonra, bunun üstesinden gelmeye karar verdik. Resimdeki her boyut incelemesine güvenmemiz gerekmediğini bulduğumuz çözümler (çünkü Chrome’un başarısız olduğu) ve En son ortalama boyut sınavını birkaç tane alıyor. Görüntünün büyüklüğü üç kez yanlışsa (Amerikan beyzbol hakkında uzman bilgimizi çağırıyorsa), bunu “dışarı” olarak adlandıracağız. Ancak son üç rapordan sadece ikisi çok küçükse, uyarıyı göstermeyeceğiz. Eklentilerdeki JavaScript işlevselliği nispeten küçük işlevlerden oluşur. Çalışma zamanının çekirdeği, mevcut görüntü koşullarının karşılanmadığını kontrol eden ve değilse hataları gösteren her 800 milisaniyede bir işlevi yerine getirmektir.
Ama nereye düzeltme yapılır? Ne demeliyim, ama yapılmayan “ama doktor size ayaklarınızdaki kırığı düzeltmek yerine size bir tedavi verirse, çok kızgın ve kafası karışacaksınız, değil mi?” İleti yeni üç gagalı kurallara dayanarak göründüğünde değiştirilmesi gerekiyor, Fred bunu doğrudan bu ana etkinliğin döngüsüne yazmamızı önerdi. Hayır dedim. Daha derine adım attık. Üstün görüntü durumunun incelenmesi iki dalın bir sürecidir. Üstün görüntü yoksa, bu “resim yok” hatası gösterir. Bir görüntü varsa, boyutunu kontrol eder ve çok küçükse bir hata gösterir. Eğer iki kontrol mezun olursa, bir sinyal verir. Bu, “üç darbe” kodunu koymamız gereken yerdir, dedi Fred. “Sanmıyorum diyorum. Burası hala yer değil. ” (Bu hikayede bilge bir insan olarak buldum. En azından kısmen tüm bu kodları yazıp yeniden yazdığım için, Fred bunu hiç görmedi. Bunun nedeni şimdi bu hikayeyi anlattığım için.)
“Kodu, görüntünün boyutunu kontrol eden işlev üzerine üç kez girmek istiyorum” dedim. “Neden?” Fred ısrar etti. “Düzelticiyi nedene olabildiğince yakın yerleştirmek.” “Ama ayaklarını kırarsan, düzeltmek için ayaklarınıza ulaşmazsınız. Hastaneye gidiyorsun. ”
Ne demeliyim, ama hayır, “Ama doktor size ayaklarınızdaki bir kırığı onarmak yerine bir tedavi verirse, çok kızgın ve kafası karışacaksın, değil mi?” Bunun yerine söylediğim şey, istediğim gibi denememizi sağlayan bir şey – sanırım sadece yolumda denememizi isteyerek. Yolumda denedik. İkimiz de bunun daha iyi olduğunu düşünüyoruz. Kodu neden yerimize yerleştiriyoruz? Yaptığımız koddaki hemen hemen tüm değişiklikler, görüntü boyutunun doğru olup olmadığını kontrol edecek kod bölümünde izole edilmiştir. Benim için, onu koymamız gerektiği açık. İşte bu şekilde düşünmemin nedeni: Gördüğümüz hata aslında değilken “çok küçük resim” dir. Bu nedenle, görüntünün boyutunu kontrol eden kodu değiştirmeliyiz.
Son olarak, nispeten küçük bir JavaScript dosyasında veri kalıcılığını işleme kolaylığı için durum hakkında küresel bir değişken oluşturmamız gerekiyor. Bence bu yanıltıcı Fred, ancak verilerin küresel olması, bilmesi gereken boyut muayenesi alt sisteminden başka bir şey ifade etmiyor.
Tüm durum, kodunuzu olabildiğince başka efektlerden izole etmek istediğinizi vurgulamaktadır. Bu, fonksiyonel programlamadan öğrendiğim bir derstir ve bu aynı zamanda en sonunda en köklü nesne yönelimli programlama önerilerinden alacağınız bir şeydir.
Global değişkeni mi kullanıyorsunuz?! Bu, kendimi koruduğum kod olduğundan ve eklenti-yerel işlev ambalajına küresel olarak ele aldığımız için, “kötülüğün” küresel kullanımı konusunda endişelenmiyorum. Temel motiflerimden biri bu hikayeyi anlatıyor. Kod türündeki sorunun oynadığımız tüm alt sistemleri etkilemesi. JavaScript dosyamızda global bir değişken oluşturarak sorunu çözüyoruz. Ama aktörün küresel devlete dokunmasını olabildiğince az istiyorum. Küresel koşullar hakkında çok şey duyarsanız, bunun genellikle kötü olduğunu duyabilirsiniz. Ve bu yanlış değil. Ama bunun kötü olmasının nedenini anlamalısınız. Sorun bundan kaynaklanmıyor, ama var olduğunda, neredeyse herkes onu kullanmaya çalışacak. Çünkü kendimi koruduğum kod bu ve eklentilerin işlevlerinin küresel sargısını kuşattığımız için endişelenmiyorum “Kötülük” in küresel kullanımı. Kodu düşünmek, yazarın seçimi olarak, bu bölümde kodu girmemeye karar verdiğim koddan daha önemlidir. Sizden biraz hayal kırıklığı yaratmış olabileceğini anlıyorum. Buraya kod için geliyorsun, bir hikaye değil. Ancak programcı insandır. Hikayelerle anlayan insanlar. Umarım bu hikayeden bir şeyler öğrenirsiniz (bilgeliğim dışında yanlış olmayan). Bu, değişimi yerelleştirmek için yararlıdır ve bazen küresel değişken oldukça lokalize olur. Bunlar bu hikayeden “ahlaklarım” dan ikisi.
Umarım bu sana yardımcı olur!