Buna Basın: Josh Pollock ile WordPress Geliştirmede Modern Takım ve Otomatik Testin Önemi

Yayınlanan: 2022-05-12

WMR'nin WordPress topluluğu podcast'i Press This'e hoş geldiniz. Burada ev sahibi David Vogelpohl, WordPress geliştiricilerinin karşılaştığı en büyük sorunlar hakkında konuşmak için topluluğun dört bir yanından konuklarla oturuyor. Aşağıdaki orijinal kaydın bir transkripsiyonudur.

RedCircle tarafından desteklenmektedir

David Vogelpohl: Herkese merhaba ve WordPress topluluğu WMR'de yayın yapan Press This'e hoş geldiniz. Bu, sunucunuz David Vogelpohl, WP Engine'deki rolüm aracılığıyla WordPress topluluğunu destekliyorum ve her hafta basında duyduğumuz topluluğun en iyilerini size ulaştırmayı seviyorum, bunu bir hatırlatma olarak, beni Twitter'da bulabilirsiniz @wpdavidv veya iTunes, iHeartRadio, Spotify'da buna basmak için abone olabilir veya en son bölümleri wmr.fm'den indirebilirsiniz. Bu bölümde, modern araçların, otomatik testlerin ve özellikle WordPress geliştirmenin öneminden elbette bahsedeceğiz ve bu sohbet için bize katılacağız. Bu Bay Josh Pollock'u basmaya hoş geldiniz. Josh, hoşgeldin.

Josh Pollock: Teşekkürler. Beni kabul ettiğin için teşekkürler. Nasılsınız?

DV: İyi, iyi. Çok heyecanlıyım. seni şovlarda görmek için En çok sen olduğun kayıttan önce konuşuyorduk, tüm Pollock'ların en ünlü WordPress Pollock'u olduğuna inanıyorum, değil mi?

JP: Jackson Pollock'a kıyasla daha az ünlü, ama evet, öyle değildi

DV: WordPress kadar ünlü değil. Bu yüzden, Jackson'ın orada olduğunu düşünüyorum.

jp: değil mi? Evet. Yine de çalışmalarının hayranıyım.

DV: Ah, bunu öğrenmek güzel. Yine de dinleyenler için ve Josh bugün hakkında konuşacak. Josh bize birkaç farklı alandan geliyor ama özellikle fişli makineye odaklanıyor. Bunun hakkında biraz konuşacağız, aynı zamanda modern geliştirme araçlarının ve otomatik testlerin WordPress geliştirme için neden çok önemli olduğu hakkındaki düşünceleri hakkında da konuşacağız. Yani bir kovboy veya kovboy kız kodlayıcısıysanız, Josh biraz başka bir yolun neden daha iyi olabileceği hakkında konuşacak. Bunun için en sevdiği araçlardan bazıları ve kendi WordPress geliştirme projelerinizle otomatik testlere nasıl yaklaşılacağı. Buna atlamadan önce, insanlara bunu muhtemelen önceki bölümlerde duymuş olduğunuzu bildiğimi hatırlatmak isterim. 25 Nisan 2022'de WP Engine sanal kod çözme konferansımızı gerçekleştirecek. Kontrol etmek gibi. Çeşitli konularda WordPress geliştirme hakkında daha fazla bilgi edinin. Etkinlikleri WP engine.com adresinden ziyaret edebilirsiniz. eğik çizgi kod çözme tire 2022 Pekala Josh, tüm misafirlerime sorduğum ilk soruyu size soracağım. Bana WordPress başlangıç ​​hikayenizi kısaca anlatabilir misiniz? WordPress'i ilk ne zaman kullandınız?

JP: Evet, WordPress'i muhtemelen ilk defa kullanıyorum. Diyelim ki 2011 2012'de bir blog yazmak için wordpress.com'da olduğu gibi o zaman ben Googled'ın bir şeyi nasıl yapacağını beğenirsiniz ve onlar nokta php fonksiyonlarına bir şeyler yapıştırmak gibiydiler. Bu yüzden kendi kendine barındırılan WordPress'e geçmeyi sevmek zorunda kaldım ve o blogda gerçekten çok fazla çalışma yaptığımı sanmıyorum. Kod kısmı gibi gerçekten dikkatim dağıldı. Bu da beni WordPress topluluğu gibi olmaya ve tema inceleme ekibi gibi gönüllü çalışmaya yönlendirdi ve ardından Özel Alanlar ve Özel Gönderi Türlerini seven ve bunun için bir kullanıcı arayüzüne sahip bir eklenti olan pod'larda çalışacağım. orada bir destek görevlisi olarak iş. Scott Kingsley kartı, oradaki lider geliştirici ve diğer herkes gerçekten destekleyici ve geliştirme gibi öğrenmeme yardımcı oldu ve oradan gerçekten eklenti geliştirmeye başladım. Çok havalı.

DV: Bir blog başlatmaya çalıştığınızda 2011 veya 12 olduğunu söylediğiniz kod ilk ne zaman dikkatinizi dağıttı? Kısa bir süre sonra mı oldu yoksa?

JP: Evet, evet, WordPress 2.7 gibiydim, sanırım üzerinde çalıştığım ilk sürümdü. Yani sanırım benim kullandığım gibi ilk versiyon ve katkıda bulunduğum ilk versiyon üç nokta gibiydi.

DV: Evet, 2011 bu, özel gönderi türünden hemen sonra olurdu. Bu, WordPress'te olmak için heyecan verici bir zaman olurdu. Yaptığım 237 garip bölümden düşünüyorum. Sen ilk wordpress.com başlangıç ​​hikayesisin. Bu yüzden, bu ve bu yıllarda röportaj yaptığım diğer insanlardan farklı olduğunuzu düşünüyorum ama orada bir şekilde başlamış olmanız oldukça güzel. Blogosferde. Ve sonra, gerçekten ilginç olan geliştirme tarafına hızla geçti. O yılın başlarında eklenti makinesinden bahsetmiştim, bize eklenti makinesinin ne yaptığını ve orada ne yaptığınızı söyleyebilir misiniz?

JP: Evet, bu benim geliştirdiğim yeni bir ürün, bilirsiniz, yani, bu benim, bilirsiniz, benim solom. Şimdi serbest çalışan bir geliştirici gibi inşa ettiğim şey, hikayenin ara bölümleri gibi, bir süredir onu çevreleyen bir şirkette kesici formlar adı verilen bir eklenti üzerinde çalışan bazı insanlarla tanıştım. Sonra WordPress alanında birkaç iş yaptım ve şimdi serbest çalışan bir geliştiriciyim. Ve çoğu zaman WordPress siteleri için WordPress eklentileri oluşturuyorum. Gidip benzeyeceğin biri değilmişim gibi, işim için bir site kurmam gerekiyor. Sanki bunun için harika bir işlevsellik oluşturacağım. Başka biri bize bir tema inşa edecek ya da her neyse ve bunun için kendi projelerim için takılıp kaldım, bu eklentiyi nasıl başlatırım? React kodu da dahil olmak üzere JavaScript kodunu derlemek için yeni araç ve WordPress ile uyumlu çalışma şekli gibi, bloklara sahip olmak istiyorum ve WordPress komut dosyaları kullandığımdan emin olmak istiyorum. Derhal. WordPress standardıdır. Üzerinde çalıştığım son projeyi tekrar tekrar çatallamak gibiydi.

DV: Tüm harika yazılımların başlangıcı bu, değil mi?

JP: Evet. Bu, şimdi birkaç şey yapan bir araç olan takma makinesi dediğim şeye yol açtı. Birincisi, bağımlılıklarda PHP otomatik yükleyici için besteci kullanmak veya bloklarınız için WordPress komut dosyalarını kullanmak gibi şeyler yapmak için bağımlılıklardaki tüm doğru adlandırma kurallarıyla ihtiyacınız olan tüm kodu oluşturduğu gibi eklentileri başlatmaya yardımcı olur. Bütün bu farklı şeyler. Ve bu beni her zaman geliştirmedeki hataların hareketli kısımlarına, otomatik testlere, içinde istediğiniz tüm doğru dosyaları içeren doğru zip dosyasını oluşturmaya takıntı haline getirdim ama sizin yapmadığınız dosyalara sahip değilim. istemiyorum. Yüklemek istediğiniz testler gibi. Bu yüzden, eklentileri başlatmak, eklentilere özellikler eklemek için bu tür eksiksiz bir araç olan makineleri günlüğe kaydediyorum, bir blok ve Veri menüsü sayfası eklemem ve ardından WordPress sitesine girebilecek son paket sürümü gibi oluşturmam gerekiyor.

DV: Ve eklentiler için geliştirme çerçevesi yapın. Sanırım, bunu açıklamak için sadece birkaç kelime kullanmak zorunda kalırsam. Adil mi?

JP: bu harika. Bunu yazacağım. Hayır, hayır, senin gibi podcast'lere gitmeyi sevmemin bir parçası da bu, WordPress eklentileri için bir geliştirme çerçevesi gibi, barındırılan bir hizmet ve bir CLI gibi basitleştirmenin harika bir yolunuz var Özel gönderi türlerini kullanmak istiyorum ve blokları kullanmak istiyorum gibi tıklayabileceğiniz bir kullanıcı arayüzüne sahip olmak için kullandığınızı ve ardından eklentinizdeyken, eklenti makinesi, eklentiler gibi hızlı komutlar yazabilirsiniz, zip hibeleri, cebinizde bir zip dosyası.

DV: Bu tür şeyler. Bu yüzden, yazılım elbette ihtiyaçtan ve alışılmış bir şekilde ortaya çıktığında seviyorum ve eklenti makinesinin köken hikayesini duymak biraz ilginç, hala ona bağlı olduğunuzu takdir ediyorum, ancak bir şekilde çıkıyorsunuz. yeniden bir tür yerli yaklaşım ve böylece wordpress.com ile başlayan yolculuğunuz gibi, doğru, tam anlamıyla hiçbir kod türü web sitesi hızlı bir şekilde daha gelişmiş bir geliştirmeye girecektir. Bu yüzden, hedef kitlemizi anlamama yardımcı olun, hatta konuştuğunuz zaman gibi anlayın, WordPress geliştirme ile modern araçlardan alıntı yapın Bu sizin için ne anlama geliyor ve bu neden önemli?

JP: Evet. Bu yüzden, sadece kime yaklaştığımın nasıl onaylandığım bağlamında, ben, bilirsiniz, bir WordPress eklenti geliştiricisiyim, siz web uygulaması geliştiricisi olacaksınız, WordPress eklentileri, özel eklentiler oluşturmaktan bahsediyorum. siteniz için. Bu, var olmayan bir şeyi yapan benzersiz bir eklenti olabilir, bilirsiniz, WooCommerce'i işiniz için benzersiz ve ilginç bir şekilde genişletir veya insanların açık kaynak dağıtmak veya satmak için geliştirdiği eklentiler olabilir. Ve bunu yaparken, bilmiyorsunuz, eklentiler oluşturmaya başladığım zamanki gibi, Merhaba, şüphe, sadece bir dosya. Bunun için gerçekten özel bir şeye ihtiyacınız yok. Ancak karmaşıklık içinde büyüdükçe, otomatik bağımlılıklara sahip olmaya başlarsınız, tam olarak WordPress komut dosyası paketleyicisini kullanmak istiyorsunuz, aynı girdileri kullanacağınız WordPress bileşenleri paketini kullanmak istiyorsunuz ve Gutenberg'in bildiği gibi form kontrolleri türünü seçin. Bunu yaptığınızda, NPM veya iplik gibi bir şeyi otomatik olarak yükleyebilecek bir şeye ihtiyaç duymaya başlarsınız ve ardından tarayıcı güvenli JavaScript, web komut dosyaları oluşturmak için oluşturma işlemini otomatik olarak çalıştırabilen bir araca ihtiyacınız olur. Ardından, doğru şekilde çalıştığından emin olmak için kodumuzu çalıştıran ek kod yazdığımız otomatik test dediğimiz şeye girmeye başlarsınız. Ve orada çok fazla karmaşıklık var ve bence bu işi zorlaştırıyor çünkü bu araçları öğreniyorsunuz ve bunları aynı anda nasıl kullanacağınızı ve aynı anda iki şeyi öğreniyorsunuz.

DV: İlginçti çünkü onu tarif ettiğinizi duymak, modern hakkında konuştuğunuz gibi her bir madde için onu otomatikleştir kelimesini kullanmak, bilirsiniz, paketleri kurmak ve bağımlılıklarla uğraşmak ve sonra kendi test takımınızı çalıştırmak. Ve biliyor gibi görünüyorsunuz, eğer yol boyunca bu parçaları yapmadıysanız, hem otomasyonu hem de bu şeyin yarattığınız yazılıma ne yaptığını öğrenmelisiniz. Ve bunun birçok insan için büyük bir meydan okuma olduğunu görebiliyordum. Yine de merak ediyorum, o yolculuk gibi ve belki de insanlar bunu nasıl aşabilir. İlk molamızı vereceğiz. Hemen döneceğiz. Ticari bir mola verme zamanı. Bizi izlemeye devam edin. Daha fazlası için, birazdan buna basın. Herkese selam, W EMR'deki bu WordPress topluluğu podcast'ine tekrar hoş geldiniz. Josh Pollack ile modern araçların, otomatik testlerin ve WordPress geliştirmenin önemi hakkında konuşmanın ortasındayız. Josh, aradan hemen önce modern aletleri açıklıyordun. Bir nevi onun temel bileşenlerinin bir listesinin üzerinden geçmişsiniz. Biz gitmeden önce otomasyonu vurgulamaya devam ettiniz ve insanların hem otomatikleştirilmiş yaklaşımı hem de araçların ne yaptığını öğrenmeleri gerektiğine dikkat çektiniz. Bu senin için bir meydan okuma mıydı? Bu tür bir gelişmeyi benimsemeye başladığınızda?

JP: Evet, kesinlikle. Ben bir ineğim, insanlar. O kısmından nefret ediyorum. Zevk aldım. Ama bir özellik yazmaya çalıştığımda, tam beynim uzaydayken, bir müşteriyle konuştum ve bu şeyin böyle görünmesi ve buraya gitmesi için ihtiyaçları var. PHP ve JavaScript kodu yazmayı sevmek istiyorum. Bu konularda inek olmama rağmen, otomatik test kurulumu yazmak veya NPM'yi yapılandırmak istemiyorum. Gerçek işi yapıyormuş gibi yapmanın beyin boşluğundayken bununla uğraşmak istemiyorum. Ben varım, bu benim için her zaman zor oldu çünkü ikisiyle de ilgileniyordum, ama herkes gibi, aynı anda yapmak zor. Eklenti makinesinin benim, benim ve benim gibi diğer insanlar için yaptığı şey, birkaç düğmeyi tıklamak ve oradaki tüm parça kurulumlarını otomatik hale getirmek. Ve otomatik dediğimde, tek bir komuta sahip olabileceğim ve yerel geliştirme ortamını kuran ve tarayıcıda görmeme ve GitHub eylemlerine sahip olduğum testleri çalıştırmama izin veren benioku gibi şeyleri kastediyorum. WordPress'in farklı sürümleri, farklı PHP sürümleri ile farklı ortamlarda yapılan testler. kodumun tüm bu farklı şeylerle çapraz uyumlu olup olmadığını otomatik olarak kontrol etmek için. Çünkü bu WordPress'te bir meydan okumadır. Ve ben, bir geliştirici olarak, bunun hakkında o kadar çok düşünmek zorunda değilim çünkü kurulum için birkaç düğme tıklaması ve ardından benioku'ya bakıyorsunuz ve bir sürü şey yapan bu komutu kesip yapıştırıyorsunuz. Bu adam, nedenini görmenizi sağlayan pek çok şey yapıyor.

DV: Sanki bir sürü ekstra adım, kafanızı dağıtacak çok fazla şey varmış gibi. Sizi daha da yakınlaştırmak için rafa kaldırılmış çerçeveleri kullanmak harika. Ancak, alıntı modern araçları geliştirme sürecinize entegre etmek için neden tüm bu zahmete katlanıyorsunuz?

JP: Yani bazı şeyler için temelde bir gereklilik. React'i WordPress içinde blok gibi bir şey için kullanmak, eklentiniz için harika bir yönetici sayfası gibi oluşturmak, bir ön uç etkileşimli öğeye sahip olmak istiyorsanız, derlemek için doğru WordPress araçlarını kullanmanız gerekecek. WordPress sitesindeki diğer tepki tabanlı bileşenlerle uyumluluk sorunlarına neden olmaz. Yani, gittikçe daha fazla Etkili bir gereklilik haline geliyor, tam da istediğiniz gibi, bir süredir orada olan bir eklentiniz olabilir ve bazı değişiklikler yapmanız gerekiyor, ancak istemiyorsunuz zaten var olan özellikleri kırın. Bununla başa çıkmanın en iyi yolu, şu anda nasıl çalıştığını açıklayan otomatik testler yazmak ve bu testlerden birinin başarısız olmasına neden olan bir değişiklik yaparsanız, yedeklemeyi durdurun, bilirsiniz, bu hatayı size göndermek yerine düzeltin. kullanıcılar. Bu da sizin gibi, müşterilerinizi mutlu etme ve istikrarlı bir ürüne sahip olma ihtiyacınızın ihtiyaç haline geldiği başka bir durum.

DV: Tamam, bu gerçekten ilginç değil çünkü son zamanlarda WordPress'te bununla ilgili çok fazla tartışma oldu, bu, WP Engine'deki ortak çalışanlarımdan biri olan Rob Stinson'ın WordPress'teki kolay işlerin kolaylaştığına işaret ettiği gibi , blok düzenleyici gibi ve zor şeyler zorlaşıyor, bir eklenti yapmak gibi ve orada bir tür gözlemlersiniz, bildiğiniz gibi, geçmişten çok daha gelişmiş geliştirme yaklaşımları, dahil etmeye göre bile çok az tepki veriyor. çerçeve. Yani bu gerçekten doğru geliyor. Ve özellikle, otomatik test gibi şeylerle, gönderdiğiniz ve kırdığınız şeyleri yeniden kodlamak zorunda kalmaktan elde ettiğiniz fayda zamanınız olsa da, aynı zamanda, siz veya müşterileriniz varsa, işinizi sürdürmek gibi görünüyor. , çok sayıda kırılma değişikliği ve bunun parasal bir fayda olduğu gibi bir fayda olduğunu tahmin etmek de.

JP: Evet, sanki o makinedeki bir insanmışım gibi. Veya bu, fişe takma makinesinin arkasındaki bir tür şakadır. Sanki bir anda isim benim. Aynı şeyi tekrar tekrar yapmakta iyi değilim. Aynı kesin aynı şekilde. Doğru. Bu yüzden bilgisayar kullanıyoruz. Sanki biz, Hey, sana onunla nasıl yapacağını söyleyeceğim. Biz buna kod diyoruz. Sonra bilgisayarların aynı şeyi yapacağına güvenerek onu tekrar tekrar çalıştırırız. Tekrar tekrar, aynı şekilde yani Bu bana göre, ya yaptığım değişiklik bozulursa, her seferinde tam olarak aynı şekilde manuel olarak test edebilmem ve o zaman söylediğim gibi endişesini istemiyorum. ve bu insan hatası ya da sadece 48 çalışan bir programım var ve WordPress eklentisi ve tema geliştiricilerinin otomatik testler yapmasını kolaylaştırdığımızı düşünüyorum, Ah, çok isterdim ama zamanım yok nasıl kurulacağını bulmak için. Son kullanıcı için kolay olan bu kolay şeylerin istikrarlı olacağından daha fazlasıyım, değil mi? Çünkü sadece kullanıcı arayüzünün kullanımı ve öğrenmesi daha kolay olmasını istemiyoruz. WordPress ile ilgili şikayet böyle insanları istemiyoruz. Sitenizi çalıştırırsınız ve ardından eklentilerinizi güncellersiniz. Doğru. Bu, herkesin kullanıcı düzeyinde sorun yaşadığı bir şeydir. Doğrudan kullanıcılar için çözebileceğimiz bir şey değil. Bunu test etme şeklimizden WordPress eklentisini oluşturma şeklimizde çözmemiz gereken bir şey.

DV: Yani teslim tarihleri ​​her zaman beklentileriniz gibidir. Mesela bunu yarın ne zaman istiyorsun? Doğru? Kimsenin bunu bana, oh, altı ay sonra ihtiyacımız var gibi söylemediğini sanmıyorum. Sorun yok, değil mi. Herkes ertesi gün her şeyi istiyor. Ve böylece, takımlar bu baskı altında. Sadece testler veya test takımları yazmak hakkında ne düşündüğünüzü merak ediyorum, bilirsiniz, insanlara bir tür emekleme, yürüme koşusu verirken, bazı önemli alanlar var mı veya başlamaktan hoşlanıyor musunuz ve hoşunuza gidiyor, ne yazdığınızı yazmaya çalışıyor musunuz? tam bir test takımı gibi hissediyorum ya da insanlar öğrenirken belirli bölümlerde onu seçmeye çalışıyorsunuz, nasıl önerirsiniz? tam test paketi için gitmek gibi üstesinden gelmek? Bir yığın çıkar ve sonra bu şekilde mi öğreniyorsun? Ya da o kısım hakkında ne düşünüyorsunuz?

JP: Bu harika bir soru. İnsanlarla bu tür bir danışmanlık yapıyorum, bazen kodlarına bakmayı seviyorum ve sadece otomatik testler kurmakla kalmıyor, aynı zamanda test etmeleri gereken şey konusunda onlara koçluk yapmak için onlarla çalışmaktan hoşlanıyorum. Ve çoğu zaman bu, insanları geride tutan şeylerden biridir, herhangi bir test yaptırmadıkları için kendilerini suçlu hissetmeleri ve ardından tam test kapsamına sahip olamamalarıdır. Doğru. Ve bence bu konuya yaklaşmanın tuhaf bir yolu çünkü sanki henüz bir şey yapmadın. Tabii ki, şeyin sonucu olan şeye sahip değilsiniz. Ve testi yazmadınız, bilirsiniz, test ama testler her şeyi kapsamasalar bile faydalıdır. Sanırım insanların asıl endişesi bu, tam sınav kapsamı alamayacağım. Sadece birkaç test yazsam. Evet gibi, ama buna bir adım daha yaklaştın. Başladın. Tesco'nun nasıl olduğunu öğrenme fırsatınız oldu, örneğin, bir istemci için yazdığım ve kısayol ekleyen bir eklentim var. Sanki tüm yaptığı bu. Ve bu yüzden adresine yazdım ve bildiğiniz gibi, giriş yapmadıysanız, size giriş yapmakla ilgili bir mesaj gösteriyor. Bu yüzden iki test yazdım, ikisi de make'de kısa kodu oluşturan işlevi çağırıyor. hata vermediğinden emin olun. Bunlar dünyanın en detaylı testleri. Ama ondan sonra onları ilk yaptığımda, test eklentisini yazarken ilk geçişim oldu ve bir sürü hata yaptım, sadece bu testleri çalıştırmaktan, tıpkı kısa kodu oluşturma sürecinde olduğu gibi, bir ton PHP hatası üretmiştim. ve bunların üstesinden gelebildim ve onları uzaklaştırdım. Ve sonra bu bana gelecekte güven verdi, eğer böyle bir şey olursa, o kısa kodun içine girenlerin üç veya dört farklı bölümünden biri bozuldu. Biliyorsun, bu testi geçemez.

DV: Bu, oluşturduğunuz yazılımın temel işlevleri, bu temel işlevleri belirleme ve ardından bir tür testler yazma açısından düşündüğünüz gibi görünüyor. Yazılım sorunlarınızın nerede ortaya çıkabileceğini izole etmek için başlayacaklar. Bu onları getirmenin adil bir yolu mu?

JP: Çünkü evet, çünkü bu, gerçekten iyi bir test kapsamı gibi, bir şeylerin bozulduğunu söyleyen iki testle başlıyor. Her bir parça için bir test isteyeceksiniz. programın Ve böylece bir test başarısız oluyor ve siz, tamam, bu bana çözmek için kod tabanımda tam olarak nereye gitmem gerektiğini söylüyor gibisiniz. Belki oraya ulaşırsınız, belki bu yeni bir ürün eklentisi geliştirmenin bir yoludur. Ancak, kısa kodunuzu yapan bir testiniz varsa, blogunuzun onu yazı düzenleyiciye ekleyebildiğinden emin olmanızı sağlar. Formunuzun gönderilebilir olduğundan ve hata yapmadığından emin olun. Bunlar o kadar çok şeyi kapsar ki gelecekte bunlar kırıldığında, bilirsiniz, belirli bir nedenden dolayı başarısız olurlar. Sonra sevdiğim ikinci tür şey, yani bu ilk aşama gibi. İkinci aşama, bir dahaki sefere, bu hata nedeniyle başarısız olan bir hata doğru testi olduğunda, hatayı düzelttiğinizde geçebilir, çünkü şimdi testinizde biraz daha ayrıntılı bilginiz var ve hatayı düzelttiğinize dair kanıtınız var ve siz gelecekte tekrar olmaya karşı korumaya sahiptir.

DV: Daha fazla test kapsamı eklemenin bir yolu olarak ortaya çıktıklarında ve tabii ki en çok ihtiyaç duyulan alanlar kırılan şeyler olarak ortaya çıktıkça, geleceğin çantalarını kullandığınızı görmek hoşuma gidiyor. Bunu harika bir öneri olarak ortaya çıkarmanın akıllıca bir yolu. Burada biraz daha derine inmek ve bu Vahşi Batı kodlama ve WordPress kültürü hakkında konuşmak istiyorum. Son molamızı vereceğiz ve hemen döneceğiz. Ticari bir mola verme zamanı. Bir dakika içinde buna daha fazla basmak için bizi izlemeye devam edin. Herkes bu WordPress topluluğu podcast'ini WMR'de yayınlamaya tekrar hoş geldiniz. Josh Pollock ile WordPress geliştiricileri için modern araçlardan bahsediyoruz. Aradan hemen önce, biraz önce Josh'un size yaklaşma konusunda nasıl düşündüğü hakkında konuşuyorduk, test takımlarınızı yazarken, ilk önce en kritik işlevlere odaklanıyorsunuz. Josh'un test takımınızı güçlendirmek için şu anda bir tür böcek kullanma konusundaki önerinizi gerçekten beğendim. Bunun gerçekten zekice olduğunu düşündüm. Biliyorsunuz, WordPress'in bir kovboy kovboy kızı kodlama kültürü var, eğer Vahşi Batı sikinizi de alacaksa, kök salmaya başlayan bir otomatik test kültürü görüyor musunuz? . Ayrıca bir gereklilik değil, aynı zamanda bu otomatik test kavramını da söylediniz. Bunun WordPress'te kök saldığını mı düşünüyorsunuz yoksa hala bildiğiniz gibi, beş dakikalık kurulum ve 10 dakikalık web sitesi gibi mi hissediyorsunuz?

JP: Projeye bağlı, değil mi? Sanki makine.com'u fişe takmak harika bir şeymiş gibi yanlış bir şey varmış gibi, WordPress'li bir web sitesi şu anda gerçekten kendimi inşa ediyor. Sürüm kontrolü altında bunlardan hiçbirine sahip değilim. Bunun gibi biraz özel kod olduğu gibi müşteri yok. Hello Dolly'ye modifiye etmeyi seviyorum. Doğru. Sadece raftan alınmış şeyler gibi. Ama eskiden bir ajansta çalıştığım gibi düşünüyorum. Tüm dağıtımlar otomatikleştirildi, değil mi? Her şey, bir çekme isteği iş akışı kullanılarak sürüm kontrolünde kontrol ediliyordu. Ve sonra bir şubeye birleştirdiğinizde siteyi otomatik olarak dağıtır. Bu daha kolay oldu, bunun için çok daha fazla araç var. Bildiğiniz gibi, bunu destekleyen ve tam bir site oluşturuyorsanız, bunu yapmanın ve benzerleri için otomatik dağıtımlar almanın belgelenmiş yollarına sahip çok daha fazla ana bilgisayar var. Bence bu harika bir ilk adım çünkü bu, o kısmı standart hale getirmek için bir fırsat. Ve sonra biliyorsunuz, bu boru hattında buna testler eklemeye başlayın. Bence giderek daha fazla insan bunu yapıyor. Ve bilirsiniz, bu sabah dosyaları bir sunucuya sürüklemek için bir FTP istemcisi kullanıyorum çünkü bazen bunu yapmanın tek yolu bu. Um, ve bence, evet, bence daha iyiye gidiyor ama bilirsiniz, insanlar için yeterince kolay değil. Sanırım değil, çünkü besteci gibi yerel bir kavram ya da onu daha zorlaştıran basın birlikleri ya da NPM değil. Bu alanda yapılacak daha çok iş olduğunu düşünüyorum. Ve gerçekten bu şekilde çok ilgileniyormuşum gibi. Daha fazla zamanım olsaydı, soğukkanlılık sorununun olmadığını düşünürdüm. WordPress ile çalışır. Kurşun harika bir araç değil. Tüm proje için çalışır, ancak bu tür sorunları özyinelemeli olarak bağımlılıkları kuramaz.

DV: Peki ya senin testin gibi? Testlerinizi burada BT çalışanları gibi mi kullanıyorsunuz, çünkü bunun modern gelişmeyi benimsemeye çalışan birçok insan için büyük bir engelleyici olduğunu düşünüyorum, bilirsiniz, ne, test takımlarını kullanabilir miyim? Hangi test araçlarını kullanabilirim? Ben sadece merak ediyorum, örneğin, otomatikleştirilmiş test ve araçları veya WordPress için test takımlarını veya çerçevelerini dinleyen insanlar için dikkate alabilecekleri herhangi bir tavsiyeniz varsa.

JP: peki, WordPress geliştiricileri için eklentiler gibi yapıyorsunuz. PHP testi için sadece WordPress eklentisi için standart olan PHP birimini kullanmıyorsunuz. Ve sonra, Yoast tarafından geliştirilen, açık kaynak kodlu ve bunun bir parçası olarak PHP birimi ile test etmeyi kolaylaştıran bazı araçlar var ve bunların hepsi makinenizde otomatik olarak kuruluyor. Ve sonra React gibi JavaScript jesti için. Demek istediğim, bu WP komut dosyalarının bir parçası. Bunlar benim kullandığım şeyler ama ben aynı zamanda site geliştirme yapan insanlar için de go Students specter veya Checkley gibi araçlarla otomatik testler yapabilirsiniz, testi istediğiniz gibi programlayabilirsiniz, bir tarayıcı uzantınız var. Daha sonra tarayıcıya girersiniz, kaydet'e tıklarsınız ve web sitenize giriş yapmak ve bir gönderi eklemek veya bir blok eklemek gibi şeyler yaparsınız, sonra web sitenize girebilirler, bildiğiniz her şey, günde bir kez veya haftada bir. Ve bu, kodsuz otomatik test yapmamanın bir yolu, bilirsiniz, web sitelerine sahip insanlar ve siz bilirsiniz, müşteriniz size bir mesaj gönderdiğinde ve "Hey, bu sayfa bozuk" dediğinde gerçekten büyük oluyor. Bu, müşterinizle etkileşim başlatmak için harika bir yol değil. Merhaba demek çok daha iyi, otomatik kontrol bildirimimiz, son güncellemenin bölümü bozduğunu ve zaten düzelttiğimizi bildirdi.

DV: Bu yıllarda yaptığım tüm modern iş akışı bölümlerini düşünüyorum. Bir kişinin bu kavramı tanıttığını sanmıyorum. Bu gerçekten zekice. Bu harika oldu. Josh, bugün bize katıldığınız için çok teşekkür ederim.

JP: Rica ederim. Bana sahip olduğun için teşekkürler.

DV: Josh'un neler yapmak istediği hakkında daha fazla bilgi edinmek isterseniz kendi modern WordPress geliştirici yolculuğunuzu genişletebilir, pluginmachine.com'a göz atın. Bu, sunucunuz David Vogelpohl. WP Engine'deki rolüm aracılığıyla WordPress topluluğunu destekliyorum. Ve her hafta Press This'de topluluğun en iyilerini size getirmeyi seviyorum.