กดปุ่มนี้: ความสำคัญของเครื่องมือที่ทันสมัยและการทดสอบอัตโนมัติในการพัฒนา WordPress กับ Josh Pollock
เผยแพร่แล้ว: 2022-05-12ยินดีต้อนรับสู่ Press This พอดคาสต์ชุมชน WordPress จาก WMR โฮสต์ David Vogelpohl อยู่ที่นี่พร้อมกับแขกจากทั่วชุมชนเพื่อพูดคุยเกี่ยวกับปัญหาที่ใหญ่ที่สุดที่นักพัฒนา WordPress กำลังเผชิญ ต่อไปนี้เป็นการถอดความจากการบันทึกต้นฉบับ
ขับเคลื่อนโดย RedCircle
David Vogelpohl: สวัสดีทุกคนและยินดีต้อนรับสู่ Press This the WordPress community podcasts on WMR นี่คือโฮสต์ของคุณ David Vogelpohl ฉันสนับสนุนชุมชน WordPress ผ่านบทบาทของฉันที่ WP Engine และฉันชอบที่จะนำเสนอสิ่งที่ดีที่สุดของชุมชนให้คุณได้ยินทุกสัปดาห์ในการกดนี้เพื่อเป็นการเตือนความจำ คุณสามารถหาฉันได้บน Twitter @wpdavidv หรือสมัครรับข่าวสารทาง iTunes, iHeartRadio, Spotify หรือดาวน์โหลดตอนล่าสุดได้ที่ wmr.fm ในตอนนี้ เราจะพูดถึงความสำคัญของเครื่องมือที่ทันสมัยและการทดสอบอัตโนมัติ และโดยเฉพาะอย่างยิ่งการพัฒนา WordPress โดยเฉพาะอย่างยิ่ง และเข้าร่วมการสนทนากับเรา ฉันขอแสดงความยินดีกับคุณจอช พอลล็อค จอช ยินดีต้อนรับ
Josh Pollock: ขอบคุณ ขอบคุณที่มีฉัน เป็นอย่างไรบ้าง?
DV: ดี ดี ฉันตื่นเต้นมาก ที่จะมีคุณในการแสดง เรากำลังพูดถึงก่อนที่จะบันทึกว่าคุณเป็นคนที่ชอบมากที่สุด ฉันเชื่อว่า WordPress Pollock ที่โด่งดังที่สุดในบรรดา Pollocks ใช่ไหม?
JP: เทียบกับ Jackson Pollock ที่โด่งดังน้อยกว่า แต่ใช่ มันไม่ใช่
DV: ไม่เหมือนกับ WordPress ที่โด่งดังเท่าคุณ ฉันคิดว่าเหมือนคุณมีแจ็คสันอยู่ที่นั่น
เจแปน : เหรอ? ใช่. ฉันเป็นแฟนของงานของเขาแม้ว่า
DV: อ่า เป็นเรื่องที่ดีที่จะเรียนรู้ สำหรับผู้ที่ฟังและ Josh กำลังจะพูดถึงวันนี้ Josh มาหาเราจากส่วนต่างๆ สองสามส่วน แต่เน้นที่เครื่องเสียบปลั๊กเป็นพิเศษ เราจะพูดคุยกันเล็กน้อยเกี่ยวกับเรื่องนี้ แต่ยังรวมถึงความคิดของเขาด้วยว่าเหตุใดเครื่องมือการพัฒนาที่ทันสมัยและการทดสอบอัตโนมัติจึงมีความสำคัญอย่างยิ่งต่อการพัฒนา WordPress ดังนั้น หากคุณเป็นนักเขียนโค้ดคาวบอยหรือคาวเกิร์ล จอชจะพูดคุยเล็กน้อยว่าทำไมเส้นทางอื่นจึงดีกว่า เครื่องมือที่เขาโปรดปรานบางส่วนและวิธีการทดสอบอัตโนมัติกับโครงการพัฒนา WordPress ของคุณเอง ก่อนที่เราจะพูดถึงเรื่องนี้ ฉันอยากจะเตือนคนที่ฉันรู้ว่าคุณอาจเคยได้ยินเรื่องนี้ในตอนก่อนๆ ในวันที่ 25 เมษายน 2022 WP Engine จะจัดการประชุมถอดรหัสเสมือนของเรา ชอบที่จะตรวจสอบออก เรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนา WordPress ในหัวข้อต่างๆ คุณสามารถเยี่ยมชมกิจกรรมได้ที่ WP engine.com forward slash decode dash 2022 เอาล่ะ Josh ฉันจะถามคำถามแรกที่ถามแขกทุกคน คุณช่วยเล่าเรื่องที่มาของ WordPress สั้น ๆ หน่อยได้ไหม? คุณใช้ WordPress เป็นครั้งแรกเมื่อใด
JP: ใช่ ฉันใช้ WordPress อาจเป็นครั้งแรก สมมติว่า 2011 2012 เขียนบล็อก เช่นใน wordpress.com ในตอนนั้น ฉันชอบ Googled ว่าต้องทำอย่างไร และพวกเขาก็เหมือนวางบางอย่างลงในฟังก์ชัน dot php ดังนั้นฉันจึงต้องชอบย้ายไปใช้ WordPress แบบโฮสต์เอง และฉันคิดว่าฉันไม่ค่อยได้ทำงานบนบล็อกนั้นมากนัก ฉันฟุ้งซ่านมากเหมือนส่วนของโค้ด และนั่นทำให้ฉันเป็นเหมือนชุมชน WordPress และอาสาสมัครกับทีมตรวจสอบธีม จากนั้นฉันก็ไปทำงานที่ pods ซึ่งเป็นปลั๊กอินที่ไม่ชอบ Custom Fields และ Custom Post Types และมี UI สำหรับมัน และฉันได้ งานเป็นผู้สนับสนุนที่นั่น การ์ดของสกอตต์ คิงส์ลีย์ หัวหน้านักพัฒนาซอฟต์แวร์ที่นั่น และคนอื่นๆ ทุกคนที่คอยสนับสนุนและช่วยให้ฉันเรียนรู้เหมือนการพัฒนา และฉันก็มีส่วนร่วมกับการพัฒนาจากที่นั่นจริงๆ ที่เย็น
DV: เมื่อไหร่ที่คุณฟุ้งซ่านโดยรหัสที่คุณบอกว่า 2011 หรือ 12 คือเมื่อคุณพยายามเริ่มบล็อก? มันเป็นเหมือนหลังจากนั้นไม่นานหรือ?
JP: ใช่ ใช่ ฉันเคยเป็นเหมือน WordPress 2.7 ฉันคิดว่าเป็นเวอร์ชันแรกที่ฉันใช้ ฉันหมายถึง ฉันคิดว่าเวอร์ชันแรกเหมือนที่ฉันเคยใช้ และฉันคิดว่าเวอร์ชันแรกที่ฉันสนับสนุนเป็นเหมือนสามจุด
DV: ใช่แล้ว ปี 2011 นี่น่าจะเป็นหลังจากประเภทโพสต์ที่กำหนดเอง นั่นเป็นช่วงเวลาที่น่าตื่นเต้นที่ได้อยู่ใน WordPress ฉันคิดว่าจาก 237 ตอนแปลก ๆ ที่ฉันเคยทำ คุณเป็นเรื่องราวต้นกำเนิดของ wordpress.com เรื่องแรก ดังนั้น ฉันคิดว่าคุณอาจมีความแตกต่างในสิ่งนั้น และทุกคนที่ฉันได้สัมภาษณ์มาหลายปีแล้ว แต่นั่นก็เยี่ยมมากที่คุณเริ่มต้นที่นั่น ในวงการบล็อก. จากนั้นค่อยย้ายไปด้านการพัฒนาอย่างน่าสนใจจริงๆ ฉันพูดถึงเมื่อต้นปีนั้นด้วยเครื่องปลั๊กอิน คุณช่วยบอกเราได้ไหมว่าเครื่องปลั๊กอินทำอะไรและคุณทำอะไรที่นั่น
JP: ใช่แล้ว นี่เป็นผลิตภัณฑ์ใหม่ที่ฉันกำลังพัฒนา ฉันหมายถึง เป็นของฉัน เธอก็รู้ มันเป็นงานเดี่ยวของฉัน สิ่งที่ฉันกำลังสร้างเหมือนเป็นนักพัฒนาอิสระในตอนนี้ เช่น ระหว่างส่วนของเรื่องคือฉันได้พบกับคนบางคนที่ทำงานเกี่ยวกับปลั๊กอินที่เรียกว่ารูปแบบเครื่องตัดผ่านพ็อดของบริษัทที่อยู่รอบๆ นั้นมาระยะหนึ่งแล้ว จากนั้นฉันก็ทำงานสองสามงานในพื้นที่ WordPress และตอนนี้ฉันเป็นนักพัฒนาอิสระ และหลายครั้งที่ฉันสร้างปลั๊กอิน WordPress สำหรับไซต์ WordPress เหมือนว่าฉันไม่ใช่คนที่คุณจะไปและเป็นเหมือน ฉันต้องสร้างไซต์สำหรับธุรกิจของฉัน อย่างฉันจะสร้างฟังก์ชันเจ๋งๆ ให้กับมัน คนอื่นจะสร้างธีมให้เราหรืออะไรก็ตาม สำหรับโครงการของฉันเอง ฉันยังคงสับสนว่าฉันจะเริ่มต้นปลั๊กอินนี้ได้อย่างไร เช่นเดียวกับที่ฉันต้องการบล็อกและฉันต้องการให้แน่ใจว่าฉันกำลังใช้สคริปต์ WordPress เช่นเครื่องมือใหม่สำหรับการรวบรวมโค้ด JavaScript รวมถึงโค้ด React และวิธีการทำงานที่เข้ากันได้กับ WordPress ทันที. เป็นมาตรฐานของ WordPress เป็นที่ที่เขาเหมือนกำลังแยกโปรเจ็กต์สุดท้ายที่ฉันทำอยู่ซ้ำแล้วซ้ำเล่า
DV: นั่นคือจุดเริ่มต้นของซอฟต์แวร์ที่ยอดเยี่ยมทั้งหมดใช่ไหม
เจพี: ครับ สิ่งนั้นนำไปสู่สิ่งที่ฉันเรียกว่าเครื่องเสียบปลั๊กซึ่งเป็นเครื่องมือที่ทำบางสิ่ง อย่างแรกเลยคือมันช่วยเริ่มต้นปลั๊กอิน เหมือนกับว่ามันสร้างโค้ดทั้งหมดที่คุณต้องการด้วยหลักการตั้งชื่อที่ถูกต้องทั้งหมดในการพึ่งพา เพื่อทำสิ่งต่างๆ เช่น ใช้ตัวแต่งสำหรับ PHP autoloader ในการขึ้นต่อกัน หรือใช้สคริปต์ WordPress สำหรับบล็อกของคุณ สิ่งต่าง ๆ เหล่านี้ทั้งหมด และสิ่งนี้ทำให้ฉันรู้ ว่าฉันเคยหมกมุ่นอยู่กับส่วนที่เคลื่อนไหวของจุดบกพร่องในการพัฒนา การทดสอบอัตโนมัติ การสร้างไฟล์ zip ที่ถูกต้องซึ่งมีไฟล์ที่ถูกต้องทั้งหมดที่คุณต้องการอยู่ในนั้น แต่ไม่ใช่ไฟล์ที่คุณทำ ไม่ต้องการ เช่นเดียวกับการทดสอบของคุณ คุณต้องการติดตั้ง ดังนั้นฉันจึงเข้าสู่ระบบเครื่อง ซึ่งเป็นเครื่องมือที่สมบูรณ์สำหรับการเริ่มต้นปลั๊กอิน เพิ่มคุณสมบัติให้กับปลั๊กอิน ฉันต้องเพิ่มบล็อกและหน้าเมนูข้อมูล แล้วสร้างเหมือนแพ็คเกจเวอร์ชันสุดท้ายที่สามารถเข้าสู่ไซต์ WordPress ได้
DV: และกำหนดเฟรมเวิร์กการพัฒนาสำหรับปลั๊กอิน ฉันเดาว่าถ้าจำเป็น เช่น ใช้คำไม่กี่คำเพื่ออธิบาย ยุติธรรมไหม?
JP: เยี่ยมมาก ฉันจะเขียนมันลงไป ไม่ ไม่ นี่คือเหตุผลส่วนหนึ่งที่ฉันชอบเล่นพอดแคสต์เหมือนคุณ คุณมีวิธีที่ยอดเยี่ยมในการทำให้ง่ายขึ้น เหมือนเป็นเฟรมเวิร์กการพัฒนาสำหรับปลั๊กอิน WordPress เช่น บริการโฮสต์และ CLI ที่คุณใช้มี UI ที่คุณสามารถคลิกได้เหมือนฉันต้องการใช้ประเภทโพสต์ที่กำหนดเองและฉันต้องการใช้บล็อก จากนั้นเมื่อคุณอยู่ในปลั๊กอินของคุณ คุณรู้หรือไม่ว่าพิมพ์คำสั่งด่วนเช่น plug in machine, plugins, ทุน zip ไฟล์ซิปในกระเป๋าของคุณ
DV: เรื่องพวกนั้น ดังนั้นฉันชอบมันเมื่อซอฟต์แวร์มีความต้องการและคุ้นเคย และเป็นเรื่องที่น่าสนใจที่จะได้ยินเรื่องราวที่มาของปลั๊กอินแมชชีนขอบคุณที่คุณยังคงยึดมั่นกับมัน แต่ออกมาแล้วคุณ' วิธีการแบบพื้นบ้าน และเช่นเดียวกับการเดินทางของคุณที่เริ่มต้นด้วย wordpress.com ใช่แล้ว ไม่มีเว็บไซต์ประเภทโค้ดใดที่จะเข้าสู่การพัฒนาขั้นสูงได้อย่างรวดเร็ว เพื่อช่วยให้ฉันเข้าใจผู้ชมของเราได้แม้กระทั่งเข้าใจ เช่น เมื่อคุณพูดถึง เสนอราคาเครื่องมือที่ทันสมัยด้วยการพัฒนา WordPress สิ่งนั้นมีความหมายต่อคุณอย่างไร และเหตุใดจึงสำคัญ
เจพี: ครับ ดังนั้นสำหรับบริบทของวิธีที่ฉันยอมรับผู้ที่ฉันกำลังติดต่ออยู่ กล่าวว่า ฉันคือนักพัฒนาปลั๊กอิน WordPress คุณจะเป็นนักพัฒนาเว็บแอปพลิเคชัน ฉันกำลังพูดถึงการสร้างปลั๊กอิน WordPress ปลั๊กอินแบบกำหนดเอง สำหรับเว็บไซต์ของคุณ นั่นอาจเป็นปลั๊กอินเฉพาะที่ทำบางสิ่งที่ไม่มีอยู่จริง คุณรู้ไหม มันขยาย WooCommerce ด้วยวิธีที่ไม่เหมือนใครและน่าสนใจสำหรับธุรกิจของคุณ หรือปลั๊กอินที่ผู้คนกำลังพัฒนาเพื่อแจกจ่ายโอเพ่นซอร์สหรือเพื่อขาย ดังนั้นเมื่อคุณทำอย่างนั้น คุณคงไม่รู้หรอกว่า เมื่อฉันเริ่มสร้างปลั๊กอิน เช่น สวัสดี สงสัยเป็นแค่ไฟล์เดียว คุณไม่ต้องการอะไรเป็นพิเศษสำหรับสิ่งนั้น แต่เมื่อมีความซับซ้อนมากขึ้นเรื่อยๆ คุณก็เริ่มมีการพึ่งพาอัตโนมัติ ถูกต้องที่คุณต้องการใช้ WordPress scripts packager คุณต้องการใช้ WordPress components package ที่คุณจะใช้อินพุตเดียวกันและเลือกประเภทของตัวควบคุมฟอร์มตามที่ Gutenberg รู้ เมื่อคุณทำอย่างนั้น คุณเริ่มต้องการบางสิ่งที่สามารถติดตั้งบางสิ่งได้โดยอัตโนมัติ เช่น NPM หรือ yarn จากนั้นคุณต้องมีเครื่องมือที่สามารถเรียกใช้กระบวนการสร้างโดยอัตโนมัติเพื่อสร้าง JavaScript ที่ปลอดภัยสำหรับเบราว์เซอร์ สคริปต์เว็บ จากนั้นคุณเริ่มเข้าสู่สิ่งที่เราเรียกว่าการทดสอบอัตโนมัติ ซึ่งเรากำลังเขียนโค้ดเพิ่มเติมที่รันโค้ดของเราเพื่อให้แน่ใจว่าทำงานถูกวิธี และมีความซับซ้อนมากมายที่นั่น และฉันคิดว่านั่นทำให้มันยากเพราะคุณกำลังเรียนรู้เครื่องมือเหล่านี้ และคุณกำลังเรียนรู้วิธีใช้มันในเวลาเดียวกัน และเรียนรู้สองสิ่งพร้อมกัน
DV: เป็นเรื่องที่น่าสนใจเพราะได้ยินคุณอธิบาย ใช้คำว่า automate กับทุกสัญลักษณ์แสดงหัวข้อย่อยเมื่อคุณพูดถึงความทันสมัยไปจนถึงชอบจากการติดตั้งแพ็คเกจและจัดการกับการพึ่งพาจากนั้นเรียกใช้ชุดการทดสอบของคุณ และดูเหมือนว่าคุณรู้ หากคุณไม่ได้ทำงานเหล่านี้ไปตลอดทาง คุณต้องเรียนรู้ทั้งระบบอัตโนมัติและสิ่งที่กำลังทำกับซอฟต์แวร์ที่คุณกำลังสร้าง และฉันเห็นว่ามันเป็นความท้าทายที่ยิ่งใหญ่สำหรับคนจำนวนมาก ฉันอยากรู้เหมือนกัน เกี่ยวกับการเดินทางครั้งนั้น และบางทีผู้คนจะผ่านมันไปได้อย่างไร เราจะไปพักกันครั้งแรก เราจะกลับมาทันที ถึงเวลาเสียบปลั๊กในเชิงพาณิชย์ คอยติดตาม. สำหรับข้อมูลเพิ่มเติม ให้กดปุ่มนี้ในอีกสักครู่ ยินดีต้อนรับทุกคนกลับมากดพอดคาสต์ชุมชน WordPress บน W EMR เรากำลังพูดคุยกับ Josh Pollack เกี่ยวกับความสำคัญของเครื่องมือที่ทันสมัยและการทดสอบอัตโนมัติและการพัฒนา WordPress Josh ก่อนพัก คุณกำลังอธิบายเครื่องมือที่ทันสมัย คุณได้ผ่านรายการส่วนประกอบสำคัญของมันแล้ว คุณยังคงเน้นย้ำถึงระบบอัตโนมัติก่อนที่เราจะดำเนินการต่อ และทำให้ผู้คนต้องเรียนรู้วิธีอัตโนมัติทั้งสองประเภท แต่ยังรวมถึงสิ่งที่เครื่องมือกำลังทำอยู่ด้วย นั่นเป็นสิ่งที่ท้าทายสำหรับคุณหรือไม่? เมื่อคุณเริ่มนำการพัฒนาประเภทนี้มาใช้?
JP: ใช่เลย ในฉันเป็นคนโง่ที่ชอบคน ฉันเกลียดส่วนนั้นของมัน ฉันสนุกกับมัน. แต่เมื่อฉันพยายามเขียนคุณลักษณะ เมื่อสมองของฉันอยู่ในพื้นที่ ฉันได้พูดคุยกับลูกค้าและพวกเขาต้องการสิ่งนี้เพื่อให้มีลักษณะเช่นนี้และไปที่นี่ ฉันต้องการเขียนโค้ด PHP และ JavaScript ฉันไม่ต้องการเขียน a รู้จักการตั้งค่าการทดสอบอัตโนมัติหรือกำหนดค่า NPM แม้ว่าฉันจะเป็นคนเนิร์ดสำหรับสิ่งนั้น ฉันไม่ต้องการที่จะจัดการกับมันเมื่อฉันอยู่ในพื้นที่สมองของการทำเหมือนทำงานจริง ฉันมีส่วนร่วมกับสิ่งที่ท้าทายอยู่เสมอเพราะฉันสนใจทั้งสองอย่าง แต่ก็เหมือนกับทุกๆ คน มันยากที่จะทำพร้อมๆ กัน ดังนั้นสิ่งที่เครื่องปลั๊กอินทำเพื่อฉันและฉัน และสำหรับคนอื่นเช่นฉัน คือฉันคลิกปุ่มสองสามปุ่มและตั้งค่าชิ้นส่วนทั้งหมดให้เป็นแบบอัตโนมัติ และเมื่อฉันพูดอัตโนมัติ ฉันหมายถึงสิ่งต่าง ๆ เช่นฉันสามารถมีคำสั่งเดียวและ readme ที่ตั้งค่าสภาพแวดล้อมการพัฒนาในพื้นที่และอนุญาตให้ฉันเห็นมันในเบราว์เซอร์และเรียกใช้การทดสอบที่ฉันมี GitHub ทุกครั้งที่ทำการเปลี่ยนแปลง การทดสอบในสภาพแวดล้อมที่แตกต่างกันด้วย WordPress เวอร์ชันต่างๆ เวอร์ชัน PHP ต่างๆ เพื่อตรวจสอบโดยอัตโนมัติว่ารหัสของฉันเข้ากันได้กับสิ่งต่าง ๆ เหล่านี้หรือไม่ เพราะนั่นเป็นความท้าทายใน WordPress และฉันในฐานะนักพัฒนาซอฟต์แวร์ ไม่ต้องคิดมากเพราะเพียงแค่คลิกปุ่มไม่กี่ปุ่มเพื่อตั้งค่า จากนั้นคุณดูใน readme cut and paste คำสั่งเดียวที่ทำสิ่งต่างๆ ได้มากมาย ผู้ชายคนนี้ทำอะไรได้มากมายที่ทำให้คุณเข้าใจว่าทำไม
DV: เช่นเดียวกับขั้นตอนพิเศษมากมาย มีสิ่งพิเศษอีกมากมายที่จะช่วยให้คุณคิดได้ เป็นการดีที่จะใช้ชนิดของการเลื่อนกรอบชั้นวางเพื่อให้คุณได้ใกล้ชิดยิ่งขึ้น แต่ทำไมชอบทำไมต้องผ่านปัญหาทั้งหมดนี้เพื่อผสานรวมเครื่องมือที่ทันสมัยเข้ากับกระบวนการพัฒนาของคุณ
JP: ดังนั้นสำหรับบางอย่าง มันเป็นข้อกำหนดโดยพื้นฐาน เช่น หากคุณต้องการใช้ React ภายใน WordPress สำหรับบางอย่าง เช่น บล็อก การสร้างหน้าผู้ดูแลระบบที่ยอดเยี่ยมสำหรับปลั๊กอินของคุณ มีองค์ประกอบแบบโต้ตอบส่วนหน้า คุณจะต้องใช้เครื่องมือ WordPress ที่ถูกต้องเพื่อคอมไพล์ในลักษณะนั้น จะไม่ทำให้เกิดปัญหาความเข้ากันได้กับส่วนประกอบตามการตอบสนองอื่น ๆ ในไซต์ WordPress ยิ่งคุณยิ่งกลายเป็นความต้องการอย่างมีประสิทธิภาพอย่างที่คุณอาจต้องการ คุณอาจมีปลั๊กอินที่ใช้งานมาระยะหนึ่งแล้ว และคุณจำเป็นต้องทำการเปลี่ยนแปลงบางอย่าง แต่คุณไม่ต้องการ ทำลายสิ่งที่มีลักษณะที่มีอยู่แล้ว วิธีที่ดีที่สุดในการจัดการกับสิ่งนั้นคือการเขียนการทดสอบอัตโนมัติที่อธิบายวิธีการทำงานในขณะนี้ และหากคุณทำการเปลี่ยนแปลงที่ทำให้การทดสอบอย่างใดอย่างหนึ่งล้มเหลว หยุดสำรองข้อมูล แก้ไขข้อผิดพลาดนั้นแทนที่จะส่งไปยัง ผู้ใช้ นั่นเป็นอีกกรณีหนึ่งที่ความต้องการของคุณในการทำให้ลูกค้ามีความสุขและมีผลิตภัณฑ์ที่มั่นคงกลายเป็นความต้องการของคุณ
DV: เอาล่ะ มันไม่น่าสนใจเท่าไหร่ เพราะมีการอภิปรายมากมายเกี่ยวกับสิ่งนี้ใน WordPress เมื่อเร็ว ๆ นี้ ซึ่งอย่างที่ Rob Stinson หนึ่งในเพื่อนร่วมงานของฉันที่ WP Engine ชี้ให้เห็นถึงสิ่งง่ายๆ ใน WordPress นั้นเริ่มง่ายขึ้น เช่นเดียวกับตัวแก้ไขบล็อกและสิ่งที่ยากเริ่มยากขึ้นเช่นการสร้างปลั๊กอินและคุณสังเกตเห็นว่าวิธีการพัฒนาขั้นสูงกว่าที่ผ่านมาเมื่อเทียบกับการรวมการตอบสนองเพียงเล็กน้อยเช่นเดียวกับการใช้มันเป็น กรอบ. สิ่งนั้นจึงเป็นจริง และดูเหมือนว่าประโยชน์ที่ได้รับคือเวลาของคุณโดยเฉพาะกับสิ่งต่าง ๆ เช่น การทดสอบอัตโนมัติจากการต้องชอบการถอดรหัสสิ่งที่คุณจัดส่งที่เสียหาย และฉันเดาว่าคงงานของคุณถ้าคุณหรือลูกค้าของคุณถ้าคุณกำลังจัดส่ง การเปลี่ยนแปลงมากมายและการคาดเดาที่เป็นประโยชน์เช่นเดียวกับผลประโยชน์ทางการเงิน
JP: ใช่ เหมือนฉันเป็นคนบนเครื่องนั้น หรือนี่เป็นเรื่องตลกที่อยู่เบื้องหลังเครื่องเสียบปลั๊ก เหมือนฉันชื่อทันที ฉันไม่เก่งเรื่องเดิมๆซ้ำๆ แบบเดียวกันเป๊ะๆ. ถูกต้อง. นั่นเป็นเหตุผลที่เราใช้คอมพิวเตอร์ แบบที่เราเป็นเหมือน เฮ้ ฉันจะบอกคุณว่าจะทำอย่างไรกับเขา เราเรียกรหัสนั้นว่า จากนั้นเราก็เรียกใช้ซ้ำแล้วซ้ำอีกโดยไว้วางใจให้คอมพิวเตอร์ทำสิ่งเดียวกัน ซ้ำแล้วซ้ำเล่า แบบเดิม สำหรับฉัน ฉันไม่ต้องการความกังวลว่าจะเกิดอะไรขึ้นหากการเปลี่ยนแปลงที่ฉันทำพังเข้าไป เพื่อที่ฉันจะได้ทดสอบด้วยตนเองแบบเดิมทุกครั้ง และอย่างที่ฉันพูดไว้ถูกต้องแล้ว และนั่นเป็นความผิดพลาดของมนุษย์หรือฉันแค่มีโปรแกรมที่รัน 48 และยิ่งฉันคิดว่าเราทำให้ปลั๊กอิน WordPress และผู้พัฒนาธีมทำการทดสอบอัตโนมัติได้ง่ายขึ้นโดยไม่ต้องชอบ โอ้ ฉันชอบ แต่ฉันไม่มีเวลา เพื่อหาวิธีการตั้งค่า ฉันยิ่งง่ายเหล่านั้นที่ง่ายสำหรับผู้ใช้ปลายทางจะมีเสถียรภาพใช่มั้ย? เพราะไม่ใช่แค่เราต้องการให้ UI ใช้งานง่ายขึ้นหรือเรียนรู้ได้ง่ายขึ้น เราไม่ต้องการให้คนแบบนี้ร้องเรียนเกี่ยวกับ WordPress คุณทำให้ไซต์ของคุณดำเนินต่อไป จากนั้นคุณอัปเดตปลั๊กอิน ถูกต้อง. นี่คือสิ่งที่ทุกคนมีปัญหาในระดับผู้ใช้ ไม่ใช่สิ่งที่เราสามารถแก้ไขได้สำหรับผู้ใช้โดยตรง เป็นสิ่งที่เราต้องแก้ไขในแบบที่เราสร้างปลั๊กอิน WordPress จากวิธีที่เราทดสอบ
DV: กำหนดเวลาก็เหมือนกับความคาดหวังของคุณเสมอ เช่น พรุ่งนี้คุณต้องการสิ่งนี้เมื่อไร ใช่ไหม ฉันไม่คิดว่าจะมีใครไม่เคยพูดแบบนั้นกับฉันเหมือน โอ้ เราต้องการมันในหกเดือน ไม่มีปัญหาใช่ไหม ทุกคนต้องการทุกอย่างในวันรุ่งขึ้น ดังนั้น ทีมต่างๆ จึงอยู่ภายใต้แรงกดดันนี้ ฉันแค่อยากรู้ว่าคุณคิดอย่างไรเกี่ยวกับการเขียนข้อสอบหรือชุดทดสอบ คุณรู้ไหม ในการให้คนคลาน เดินเล่น มีส่วนสำคัญหรือคุณชอบที่จะเริ่มต้นและชอบ พยายามเขียนสิ่งที่คุณ รู้สึกเหมือนเป็นชุดทดสอบที่สมบูรณ์หรือคุณพยายามเลือกมันในบางส่วนในขณะที่ผู้คนกำลังเรียนรู้เช่นคุณจะแนะนำอย่างไร? จัดการกับมันเหมือนไปสำหรับชุดทดสอบเต็มรูปแบบ? ถอดชิ้นส่วนแล้วเรียนรู้แบบนั้น? หรือคุณคิดอย่างไรเกี่ยวกับส่วนนั้น?
JP: นี่เป็นคำถามที่ดี ฉันปรึกษากับคนอื่นๆ ในลักษณะนี้ในบางครั้ง ซึ่งฉันชอบดูโค้ดของพวกเขา ไม่ใช่แค่ตั้งค่าการทดสอบอัตโนมัติ แต่ยังชอบทำงานร่วมกับพวกเขาในการฝึกสอนพวกเขาถึงสิ่งที่พวกเขาควรทดสอบด้วย และหลายครั้ง นี่เป็นหนึ่งในสิ่งที่ฉุดรั้งผู้คนไว้ เพราะพวกเขารู้สึกเหมือนมีความผิด ที่พวกเขาไม่มีการทดสอบใดๆ และจากนั้นพวกเขาก็ไม่สามารถครอบคลุมการทดสอบได้ทั้งหมด ถูกต้อง. และฉันคิดว่านั่นเป็นวิธีที่แปลกที่จะเข้าหามัน เพราะมันเหมือนกับว่าคุณยังไม่ได้ทำอะไรเลย แน่นอนคุณไม่ได้สิ่งที่เป็นผลจากสิ่งนั้น และคุณยังไม่ได้เขียนแบบทดสอบ คุณก็รู้ แบบทดสอบ แต่แบบทดสอบนั้นมีประโยชน์ แม้ว่าจะไม่ได้ครอบคลุมทุกอย่างก็ตาม ฉันคิดว่านั่นเป็นความกังวลจริงๆ ที่ผู้คนมีคือฉันจะไม่ได้รับความคุ้มครองการทดสอบเต็มรูปแบบ ถ้าฉันเพียงแค่เขียนการทดสอบไม่กี่ มันเหมือนกับว่าใช่ แต่คุณเข้าใกล้มันมากขึ้นไปอีกก้าวหนึ่ง คุณได้เริ่มต้นกับมัน คุณได้มีโอกาสเรียนรู้วิธีการทำงานของเทสโก้ ตัวอย่างเช่น ฉันมีปลั๊กอินที่ฉันเขียนสำหรับลูกค้าที่เพิ่มทางลัด แค่นั้นเอง ดังนั้นฉันจึงเขียนถึงและมีสิ่งที่คุณรู้ หากคุณไม่ได้เข้าสู่ระบบ จะแสดงข้อความเกี่ยวกับการเข้าสู่ระบบให้คุณทราบ ดังนั้นฉันจึงเขียนการทดสอบสองครั้ง ทั้งคู่เพียงแค่เรียกใช้ฟังก์ชันที่แสดงรหัสย่อใน แน่ใจว่าจะไม่เกิดข้อผิดพลาด นี่คือการทดสอบที่มีรายละเอียดมากที่สุดในโลก แต่เมื่อฉันเริ่มทำการทดสอบหลังจากนั้น การเขียนปลั๊กอินการทดสอบครั้งแรกของฉัน และฉันมีข้อผิดพลาดหลายอย่างจากการเรียกใช้การทดสอบเหล่านั้น เช่นเดียวกับในกระบวนการสร้างรหัสย่อ ฉันได้สร้างข้อผิดพลาด PHP มากมาย และฉันก็สามารถผ่านพ้นไปได้ แล้วนั่นทำให้ฉันมีความมั่นใจในอนาคตว่าหากมีสิ่งใดส่วนหนึ่งในสามหรือสี่ส่วนที่แตกต่างกันของสิ่งที่จะเข้าสู่รหัสย่อนั้น คุณรู้ไหม นั่นจะล้มเหลวในการทดสอบ
DV: ดูเหมือนว่าคุณกำลังคิดถึงมันในแง่ของการทำงานหลักของซอฟต์แวร์ที่คุณสร้างขึ้น การระบุหน้าที่หลักเหล่านั้น และประเภทการทดสอบการเขียน รอบเหล่านั้นที่จะเริ่มต้นเพื่อแยกว่าปัญหาซอฟต์แวร์ของคุณอาจเกิดขึ้นที่ใด นั่นเป็นวิธีที่ยุติธรรมที่จะนำพวกเขามาหรือไม่?
JP: ฉันจะพูด เพราะว่า ใช่ เพราะนั่นเริ่มจากการทดสอบสองครั้งที่บอกว่ามีบางอย่างผิดปกติ เช่น การทดสอบที่ครอบคลุมดีมาก คุณจะต้องมีการทดสอบหนึ่งครั้งสำหรับแต่ละส่วน ของโปรแกรม มันเหมือนกับว่าการทดสอบหนึ่งล้มเหลว และคุณก็แบบ โอเค ที่บอกฉันว่าฉันต้องไปที่ใดใน codebase ของฉันเพื่อแก้ปัญหา บางทีคุณอาจจะไปถึงที่นั่นได้ บางทีนั่นอาจเป็นวิธีพัฒนาปลั๊กอินผลิตภัณฑ์ใหม่ แต่ถ้าคุณมีการทดสอบที่ใช่ คุณทราบดีว่ารหัสย่อของคุณทำให้แน่ใจว่าบล็อกของคุณสามารถเพิ่มในเครื่องมือแก้ไขบทความได้ ตรวจสอบให้แน่ใจว่าแบบฟอร์มของคุณสามารถส่งได้และไม่มีข้อผิดพลาดใดๆ สิ่งเหล่านั้นครอบคลุมมากในอนาคตเมื่อสิ่งเหล่านั้นพัง พวกเขาล้มเหลวด้วยเหตุผลเฉพาะ แล้วแบบที่สองที่ผมชอบก็เหมือนกับช่วงแรก ระยะที่สองคือครั้งต่อไปที่มีการทดสอบข้อผิดพลาดที่ล้มเหลวเนื่องจากข้อผิดพลาดนั้นสามารถผ่านได้เมื่อคุณแก้ไขข้อผิดพลาดเพราะตอนนี้คุณมีรายละเอียดเพิ่มเติมเล็กน้อยในการทดสอบและคุณมีหลักฐานว่าคุณแก้ไขข้อผิดพลาดแล้ว มีการป้องกันมิให้เกิดขึ้นอีกในอนาคต
DV: ฉันชอบที่เห็นคุณกำลังใช้กระเป๋าในอนาคตเพราะมันปรากฏขึ้นเพื่อเพิ่มความครอบคลุมในการทดสอบและแน่นอนพื้นที่ที่ต้องการสิ่งที่ถูกต้องที่สุดที่แตกหัก เป็นวิธีที่ชาญฉลาดในการทำให้เกิดคำแนะนำที่ดี ฉันต้องการเจาะลึกลงไปอีกเล็กน้อยที่นี่และพูดคุยเกี่ยวกับวัฒนธรรมของการเขียนโค้ด Wild West และ WordPress เราจะพักกันครั้งสุดท้ายและเราจะกลับมา ถึงเวลาเสียบปลั๊กในเชิงพาณิชย์ คอยติดตามการกดเพิ่มเติมนี้ในอีกสักครู่ ยินดีต้อนรับทุกคนกลับมากดพอดคาสต์ชุมชน WordPress บน WMR เรากำลังพูดถึงเครื่องมือที่ทันสมัยสำหรับนักพัฒนา WordPress กับ Josh Pollock ก่อนพัก เรากำลังคุยกันเล็กน้อยว่า Josh คิดอย่างไรในการเข้าใกล้ คุณกำลังเขียนชุดทดสอบของคุณโดยเน้นที่ฟังก์ชันที่สำคัญที่สุดก่อน ฉันชอบคำแนะนำของคุณ Josh เกี่ยวกับการใช้ชนิดของแมลงในขณะเพื่อเพิ่มชุดทดสอบของคุณ ฉันคิดว่ามันฉลาดจริงๆ คุณรู้ไหม WordPress มีวัฒนธรรมของการเข้ารหัสคาวบอยเคาเกิร์ล ถ้าคุณจะ Wild West ให้จู๋ของคุณเรียกอีกอย่างว่า คุณเห็นวัฒนธรรมของการทดสอบอัตโนมัติที่เริ่มหยั่งรากเป็นแนวคิดที่ว่าเหมือนการอ้างคำพูดที่ยากขึ้นเรื่อย ๆ เช่นการสร้างเครื่องมือที่ทันสมัย . คุณบอกว่าเป็นข้อกำหนดเช่นกัน แต่ยังรวมถึงแนวคิดของการทดสอบอัตโนมัติด้วย คุณรู้สึกว่ามันกำลังหยั่งรากใน WordPress หรือคุณยังรู้สึกว่ามันเหมือนกับการติดตั้ง 5 นาทีและเว็บไซต์ 10 นาที?
JP: มันขึ้นอยู่กับโครงการใช่ไหม เหมือนกับว่ามีอะไรผิดปกติ เช่น เป็นการดีเมื่อคุณทำได้ เช่น plug in machine.com เช่นเดียวกับเว็บไซต์ที่มี WordPress กำลังสร้างตัวเองอยู่ในขณะนี้ ฉันไม่มีสิ่งใดที่อยู่ภายใต้การควบคุมเวอร์ชัน ไม่มีลูกค้าคนไหนชอบโค้ดที่กำหนดเองแบบนั้น ฉันชอบดัดแปลงเป็น Hello Dolly ถูกต้อง. มันเหมือนกับของนอกชั้นวาง แต่คิดเหมือนเคยทำงานที่เอเจนซี่ การปรับใช้ทั้งหมดเป็นแบบอัตโนมัติใช่ไหม ทุกอย่างถูกตรวจสอบในการควบคุมเวอร์ชันโดยใช้เวิร์กโฟลว์คำขอดึง จากนั้นเมื่อคุณรวมเข้ากับสาขาเดียว ไซต์จะปรับใช้โดยอัตโนมัติ ง่ายขึ้น มีเครื่องมืออีกมากมายสำหรับสิ่งนั้น มีโฮสต์อีกมากมายที่คุณรู้จัก สนับสนุนสิ่งนั้น และได้จัดทำเอกสารวิธีการทำเช่นนั้นและรับการปรับใช้อัตโนมัติเช่น หากคุณกำลังสร้างทั้งไซต์ ฉันคิดว่านั่นเป็นก้าวแรกที่ดีเพราะเป็นโอกาสในการสร้างมาตรฐานในส่วนนั้น แล้วคุณจะรู้ว่า ในไปป์ไลน์นั้น ให้เริ่มเพิ่มการทดสอบเข้าไป ฉันคิดว่ามีคนทำแบบนั้นมากขึ้นเรื่อยๆ และคุณรู้ไหม ฉันใช้ไคลเอนต์ FTP เพื่อลากไฟล์ไปยังเซิร์ฟเวอร์เมื่อเช้านี้ เพราะบางครั้งก็เป็นวิธีเดียวที่จะทำได้ อืม และฉันคิดว่า ใช่ ฉันคิดว่ามันเริ่มดีขึ้น แต่คุณรู้ไหม มันไม่ง่ายพอสำหรับคนทั่วไป ฉันคิดว่าไม่ใช่เพราะว่านักแต่งเพลงไม่ใช่แนวคิดดั้งเดิมหรือคณะสื่อมวลชนที่ทำให้ยากขึ้นหรือ NPM ฉันคิดว่ายังมีงานอีกมากที่ต้องทำในพื้นที่นั้น และเหมือนว่าฉันสนใจในวิธีนั้นจริงๆ ถ้าฉันมีเวลามากกว่านี้ ฉันจะพิจารณาว่าปัญหาเรื่องความสงบไม่ใช่ปัญหา ทำงานร่วมกับเวิร์ดเพรส ตะกั่วไม่ใช่เครื่องมือที่ยอดเยี่ยม มันใช้งานได้กับทั้งโปรเจ็กต์ แต่ก็เหมือนกับว่าไม่สามารถติดตั้งการพึ่งพาปัญหาประเภทนั้นซ้ำๆ ได้
DV: แล้วการทดสอบของคุณล่ะ? คุณใช้การทดสอบของคุณเหมือนคนไอทีที่นี่เพราะฉันรู้สึกว่าเป็นตัวบล็อกขนาดใหญ่สำหรับคนจำนวนมากที่พยายามนำการพัฒนาที่ทันสมัยมาใช้เป็นเหมือน คุณรู้ไหม ฉันสามารถใช้ชุดทดสอบอะไรได้บ้าง ฉันใช้เครื่องมือทดสอบอะไรได้บ้าง ฉันแค่อยากรู้ เช่น ถ้าคุณมีคำแนะนำสำหรับคนที่ฟังเกี่ยวกับการทดสอบอัตโนมัติและเครื่องมือ หรือชุดทดสอบหรือเฟรมเวิร์กสำหรับ WordPress ที่พวกเขาสามารถพิจารณาได้
JP: ดังนั้นสำหรับนักพัฒนา WordPress คุณทำเหมือนปลั๊กอิน คุณไม่ได้ใช้หน่วย PHP ซึ่งเป็นมาตรฐานสำหรับปลั๊กอิน WordPress สำหรับการทดสอบ PHP แล้วมีเครื่องมือบางอย่างที่พัฒนาโดย Yoast ซึ่งเป็นโอเพ่นซอร์สและเป็นส่วนหนึ่งที่ทำให้ง่ายต่อการทดสอบด้วยหน่วย PHP และเครื่องมือเหล่านี้ทั้งหมดได้รับการตั้งค่าโดยอัตโนมัติในเครื่องของคุณ แล้วสำหรับ JavaScript jest ซึ่งเหมือนกับ React ฉันหมายถึง นั่นเป็นส่วนหนึ่งของสคริปต์ WP สิ่งเหล่านี้คือสิ่งที่ฉันใช้ แต่สำหรับผู้ที่อาจกำลังพัฒนาไซต์ คุณสามารถทำการทดสอบอัตโนมัติ ด้วยเครื่องมือเช่น go student specter หรือ Checkley ซึ่งคุณสามารถตั้งโปรแกรมการทดสอบได้ด้วยการกดถูกใจ คุณมีส่วนขยายเบราว์เซอร์ จากนั้นคุณไปที่เบราว์เซอร์ คุณคลิกบันทึก และคุณทำสิ่งต่างๆ เช่น ลงชื่อเข้าใช้เว็บไซต์ของคุณ และเพิ่มโพสต์หรือเพิ่มบล็อกหรืออะไรทำนองนั้น พวกเขาสามารถทำงานในเว็บไซต์ของคุณได้ ทุก ๆ ครั้งที่คุณทราบ วันละครั้ง หรือสัปดาห์ละครั้ง และนั่นเป็นวิธีที่จะไม่ทำการทดสอบโค้ดแบบอัตโนมัติ อย่างที่คุณรู้ คนที่เป็นเจ้าของเว็บไซต์และพวกเขารู้ว่า มันใหญ่มากเมื่อลูกค้าของคุณส่งข้อความถึงคุณและพูดว่า "เฮ้ หน้านี้เสียแล้ว นั่นไม่ใช่วิธีที่ดีในการเริ่มต้นโต้ตอบกับลูกค้าของคุณ เป็นการดีกว่ามากที่จะพูดว่า "ระบบแจ้งการตรวจสอบอัตโนมัติของเราว่าการอัปเดตครั้งล่าสุดทำให้ส่วนนี้เสียหาย และเราได้แก้ไขแล้ว
DV: ฉันนึกถึงตอนเวิร์กโฟลว์สมัยใหม่ทั้งหมดที่ฉันทำในช่วงหลายปีที่ผ่านมา ฉันไม่คิดว่าคนใดคนหนึ่งเคยแนะนำแนวคิดนั้น นั่นฉลาดจริงๆ นี้ได้รับที่น่ากลัว Josh ขอบคุณมากที่มาร่วมงานกับเราในวันนี้
เจพี: ไม่เป็นไร ขอบคุณที่มีฉัน
DV: หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งที่ Josh สามารถทำได้ อาจขยายการเดินทางของนักพัฒนา WordPress ที่ทันสมัยของคุณ ลองดู pluginmachine.com ขอบคุณทุกคนที่รับฟังกดดันพอดคาสต์ชุมชน WordPress และ WMR นี่คือโฮสต์ของคุณ David Vogelpohl ฉันสนับสนุนชุมชน WordPress ผ่านบทบาทของฉันที่ WP Engine และฉันชอบที่จะนำสิ่งที่ดีที่สุดของชุมชนมาให้คุณที่นี่ทุกสัปดาห์ใน Press This