PHP En İyi Uygulama: Tür Parametreleri
Okulda öğrendiğimiz uygulamalar var, tembellikten edindiğimiz uygulamalar, alışkanlıkla edindiğimiz, görerek ya da sistemli bir şekilde kopyalayıp yapıştırarak edindiğimiz uygulamalar var. Zaman ve deneyimle, her zamankinden daha net metodolojiler ve sözdizimleri aradığımız açıktır. Her dilde ayırt edilen eğilimlere rağmen, genellikle hangi ekibimizin böyle bir sözdizimine sahip olduğunu kodu okuyarak belirleyebiliriz. .
PHP, özgür bir sözdizimi… çok mu özgür?
Kodumu düzenli bir şekilde oluşturmama izin veren birkaç alışkanlığım var. Bu, yolumu kolayca bulmak, hızlı çalışmak ve aynı zamanda meslektaşlarım için hata ayıklamayı ve kodumu okumayı kolaylaştırmak için.
Parametrelerini yazın, ne için? Ve bu neden iyi bir uygulamadır?
PHP'de sözdizimi çok özgürdür. Dilin çok ayrıntılı olmamasından çok özgür demek istiyorum. Örneğin Java gibi dillerin destekçisi olmadan, parametrelerini yazmanın işimizde bize ancak yardımcı olabileceğini düşünüyorum.
Veri türünü yazarken neden zaman kaybedelim?
Gerçekten, ama hemen artıları ve eksileri karşılaştıralım.
Eksilerde, kötü zamanlar olmadan, yukarıda yazdığımdan başka bir argümandan alıntı yapmakta zorlanacağım.
Profesyonellerde küçük bir liste söyleyebilirim:
- Kodumu oluşturmama yardımcı oluyor. Prototipimde (fonksiyonumun bildirimi), şu veya bu argümanın bir a olması gerektiğini biliyorum.rray ou int.
- Bu, daha hızlı hata ayıklamamı sağlıyor. türünde bir bağımsız değişken istediğinizi beyan ettiyseniz kullanıcı yönteminizde, PHP bir Kullanıcı örneği bekleyecektir. Veya bir a vermeyi deneyinrray veya öngörülenden farklı herhangi bir tür, PHP'nin hemen durmasına neden olur. Kuşkusuz, hatanın oldukça "zor" olma riski vardır, ancak geliştirmenizin geri kalanının başarısız olması pek olası değildir.
- Meslektaşlarım kodumu bir kitap gibi okumayı sever. Aslında, setItem(…) yönteminin bir argüman türü aldığını bildiğimizde foo, yardımcı olur. HAYIR ?
12işlev setItem($öğe);işlev setItem(Öğe $ öğe);
Kuşkusuz, bu liste sadece 3 nokta içeriyor, ancak işimiz bizi her zaman bir savaş ortamında olmaya ve her zaman yeni yollar keşfetmeye mecbur ediyor, denemenizi ve kendiniz görmenizi tavsiye ederim.
Türle ilgili askıya alınmış bir sorun karışık
Aslında, yine de bir zayıflığı kabul etmeliyim, tip karışık. Korkunç adam ve yasaklanacak. C/C++ ile kodlamış olanlar için, bir örnek işaretçisini (void *) ile bildirmek gibidir.
Mümkün olduğunca bu türü kullanmamanızı ve kullanımını sınırlamanızı tavsiye ederim. Bir örnek ?
setPoireau(mixed $poireau) yöntemi pırasaları parametre olarak alıyor ama yazılmadığı için yavru fok da verebilirsiniz... Sorunlu.
Zorla pırasa yemek istiyorsanız, ne yapmanız gerektiğini biliyorsunuz ve sapkın bir zihniniz olduğunu ve sebze verebilmek istediğinizi kabul edelim, sizi bir arayüz (veya bir sınıf özeti) kullanmaya davet ediyorum. ) ve yönteminizi bu şekilde tanımlayın.


Bu örneğin mevcut en iyi örnek olmayabileceğini kabul edeceğim, ancak açık olma erdemine sahip.
Sonuç
Yazmak zorunlu değildir, ancak net ve temiz bir şekilde çalışmak isteyen herkes tarafından kullanılabilir. Sana şiddetle tavsiye ederim.
Belki bir gün, daha iyi anlambilim arayışımızda bize yardımcı olacak bir yöntemin dönüşünü yazma hakkına sahip olacağız.