เมื่อใดที่จะอัพเดต jQuery


19

เมื่อคุณแนะนำให้อัพเดต jQuery / jQuery UI หรือกล่าวอีกนัยหนึ่ง: วิธีปฏิบัติที่ดีที่สุดสำหรับการอัพเดต jQuery / jQuery UI คืออะไร?

ฉันกำลังทำงานในโครงการที่ยาวนานซึ่งจะใช้เวลาอย่างน้อยหนึ่งปี ในช่วงเวลานั้นฉันมั่นใจว่า jQuery / jQuery UI จะได้รับการอัปเดตหลายครั้ง

คุณแนะนำให้อัปเดตไฟล์ jQuery / jQuery UI ทุกครั้งที่มีการเผยแพร่หรือไม่ หรือดีกว่าที่จะติดกับรุ่นใดรุ่นหนึ่งจนกว่าจะสิ้นสุดโครงการ?

ฉันกลัวที่จะ“ เปลี่ยนแปลง” รหัสและทุกครั้งที่มีการอัพเดทฉันต้องทดสอบทุกอย่าง ใช้เวลามากเกินไป แต่ในทางกลับกันหากฉันไม่ได้อัปเดตฉันกลัวข้อบกพร่องที่ภายหลังจะกัดฉันที่ด้านหลัง

โครงการเป็น ASP.MVC และฉันใช้ jQuery มาก

ความคิดใด ๆ


บทความนี้อาจมีความเกี่ยวข้อง: มันขอแนะนำให้อยู่เสมอที่ปลายโดยการเชื่อมโยงไปยังรุ่นที่โฮสต์โดย Google: encosia.com/…
อเล็กซ์ Feinman

คำตอบ:


19

อัปเดต jQuery เวอร์ชันของคุณหากคุณต้องการคุณสมบัติใหม่ที่รวมอยู่ในเวอร์ชันใหม่ เรียบง่ายเหมือนที่

หากคุณพัฒนาโดยใช้ jQuery เป็นประจำให้จับตาดูบล็อกอย่างเป็นทางการเพื่อรับทราบเมื่อมีการเปิดตัวการปรับปรุงและสิ่งที่เสนอให้ รอสองสามสัปดาห์ก่อนที่จะอัปเกรดเป็นเวอร์ชันล่าสุดเพื่อให้แน่ใจว่ามีการกำจัดข้อผิดพลาดที่ไม่คาดคิดออกไป


1
+1 เป็นวิธีที่เสถียรที่สุดในการอัปเกรดเพื่อการอัพเกรดเพิ่มเวลาในการพัฒนาโดยรวมของคุณเมื่อคุณจบการต่อสู้บั๊ก
Nicholas Smith

2
รวมทั้งจับตาดูปลั๊กอินของคุณ บางครั้งการแก้ไขข้อบกพร่องของปลั๊กอินจำเป็นต้องอัพเกรดรหัส jQuery หลัก
Adrian J. Moreno

12
ฉันไม่เห็นด้วยกับคำตอบนี้ หากผลิตภัณฑ์ยังอยู่ในระหว่างการพัฒนาตามที่เห็นจากคำถามให้อัพเกรดด้วย jQuery แต่ละรุ่นใหม่ หากผลิตภัณฑ์นั้นกำลังใช้งานอยู่ฉันเห็นด้วยกับคำตอบนี้อัปเกรดเฉพาะเมื่อจำเป็นต้องมีการอัปเกรด (แก้ไขข้อผิดพลาดคุณลักษณะใหม่ .. ฯลฯ )
Chuck Conway

@ ChuckConway: พูดได้ดี
Jim G.

20

คุณควรอัปเกรดด้วย jQuery แต่ละรุ่น - เพียงแค่ดูที่บันทึกการอัพเดตก่อนทำการอัพเดต

ทีม jQuery คือดีมากเกี่ยวกับการจัดเก็บเอกสารการเปลี่ยนแปลง API และโทรเลิก ณ จุดนี้ API ส่วนใหญ่ค่อนข้างเสถียรและอาจไม่เปลี่ยนแปลง การเปลี่ยนแปลงส่วนใหญ่เป็นการแก้ไขบั๊กที่อยู่เบื้องหลังซึ่งไม่มีผลกับ API ภายนอก นี่เป็นเรื่องจริงโดยเฉพาะกับรุ่นล่าสุด (1.8+)

อีกเหตุผลที่ดีในการอัปเดตคือไม่ว่าคุณจะอยู่ในโครงการหรือไม่ก็ตามบางคนจะได้รับการดูแลโครงการหลังจากคุณทำเสร็จแล้ว การอัปเกรดเป็นเวอร์ชันล่าสุดมีประโยชน์สำหรับคุณนักพัฒนาและผู้ใช้ในอนาคต - เนื่องจาก jQuery เวอร์ชันใหม่จะระเบิดรุ่นเก่าออกจากน้ำ ... ดังนั้นไปข้างหน้าและอัปเดตทัง


4
นี่ควรเป็นคำตอบที่ได้รับการยอมรับซึ่งหมายถึงเมื่อคุณต้องการอัพเกรดคุณต้องทำการกระโดดเวอร์ชั่นที่ใหญ่กว่าซึ่งยากกว่ามาก
Daniel Little

5

อัปเกรดทันทีที่คุณทำได้โดยไม่ทำลายอะไรเลย ฟังก์ชั่นใหม่, การแก้ไขข้อผิดพลาด, คุณสมบัติใหม่จะถูกนำมาใช้ในการทำซ้ำทุกครั้ง

คุณอาจไม่ต้องการคุณสมบัติล่าสุด แต่เมื่อคุณทำคุณจะต้องตรวจสอบทุกเวอร์ชันใหม่ในระหว่างสิ่งที่คุณต้องแน่ใจว่ามันจะไม่ทำลายอะไรเลย

การเพิ่มทีละน้อยจะช่วยให้คุณได้รับการอัปเดตทุกอย่างโดยไม่ต้องอัปเกรด 5 รุ่นใหญ่และใช้เวลา 5 ชั่วโมงในการทดสอบทุกอย่างในครั้งเดียว


1
ฉันยังคงลองคิดดูว่าการอัปเดตจาก 1.4.x เป็น 1.7.x จะทำให้เกิดอะไรขึ้นหรือไม่
สไตล์

4

คุณต้องการฟีเจอร์ใหม่ที่รวมอยู่ใน JQuery เวอร์ชั่นใหม่กว่าหรือไม่? ไซต์ของคุณใช้งานได้ตามที่คาดหวังในวันนี้หรือไม่?

หากคุณตอบว่า "ไม่" เป็นคำถามแรกและ "ใช่" สำหรับคำถามที่สองคุณไม่ควรอัพเกรด jQuery

หากคุณต้องการฟังก์ชั่นใหม่คุณต้องสร้างความสมดุลให้กับค่าใช้จ่ายของการทดสอบที่เพิ่มขึ้นและการแนะนำปัญหาใหม่ ๆ

หากคุณมีปัญหากับ JQuery เวอร์ชันปัจจุบันเวอร์ชั่นใหม่อาจแก้ไขปัญหาของคุณได้ แต่คุณยังมีภาระการทดสอบเพิ่มขึ้นเพราะคุณต้องมั่นใจว่าเวอร์ชันใหม่จะไม่แตกหักอีก

นี่คือเหตุผลว่าทำไมการมีชุดยูนิตที่ดีการทดสอบการใช้งานและคุณสมบัติเป็นสิ่งจำเป็น


2

มีเพียงคุณเท่านั้นที่ตัดสินใจได้ว่าความเสี่ยงนั้นคุ้มค่าหรือไม่ โดยส่วนตัวแล้วฉันชอบที่จะอยู่ถึงวันที่ อย่างไรก็ตามฉันมีข้อบกพร่องเล็กน้อยที่แนะนำเมื่ออัปเกรดที่ทำลายบางสิ่งบางอย่าง (หรือทำให้เกิดพฤติกรรมแปลก ๆ ) เนื่องจากคุณมีปีของการพัฒนาล่วงหน้าคุณมีโอกาสที่จะต้องผ่านการประกันคุณภาพขั้นสุดท้ายอย่างไรก็ตาม

ฉันบอกว่าถึงวันที่ มันง่ายกว่ามากที่จะทำการรวมกลุ่มขนาดเล็กอย่างต่อเนื่องมากกว่ากลุ่มใหญ่ทั้งหมดในครั้งเดียว


0

ทดสอบ. ทดสอบทดสอบทดสอบทดสอบทดสอบ

ฉันใช้ jQuery UI เวอร์ชัน (ปัจจุบันแล้ว) ในโครงการและใช้ปลั๊กอินภายนอกที่เรียกว่า. autocomplete ที่ทำหน้าที่พิมพ์ล่วงหน้าโดยการผูกฟิลด์ข้อความกับแหล่งข้อมูล JSON ใช้มันเป็นจำนวนมาก

จากนั้นเดือนต่อมาฉันต้องเพิ่มตัวควบคุมตัวเลื่อนที่มาในเวอร์ชันปัจจุบันเท่านั้น น่าเสียดายที่เวอร์ชันปัจจุบันในภายหลังเพิ่มฟังก์ชันการเติมข้อความอัตโนมัติดั้งเดิมซึ่งพวกเขาอ้างว่าเป็นตัวตายตัวแทนทางจิตวิญญาณของปลั๊กอินที่ฉันใช้ แต่ใช้วิธีการฟังก์ชันและข้อกำหนดด้านข้อมูลที่แตกต่างกันอย่างสิ้นเชิง แถบเลื่อนใหม่ของฉันเปิด

เนื่องจากหน้าเว็บที่ฉันกำลังพัฒนาคุณสมบัติใหม่นี้ไม่ได้ใช้การเติมข้อความอัตโนมัติฉันจึงไม่ได้สังเกต เนื่องจากลูกค้าของฉันกำลังเร่งรีบเพื่อรับคุณลักษณะนี้ก่อนงานแสดงสินค้ามันจึงได้รับการจัดแสดงและทดสอบและเข้าสู่การผลิตด้วยการเติมข้อความอัตโนมัติที่เสียหาย

ในที่สุดมันเป็นความล้มเหลวของการทดสอบของฉัน และบทเรียนที่ได้รับคือ jQuery และ jQuery UI มีความสนใจในความเข้ากันได้แบบย้อนหลังเพียงเล็กน้อย ซึ่งทำให้ความต้องการของเราเป็น devs เพื่อทดสอบและทดสอบและทดสอบ


-1

จากประสบการณ์ของฉัน jQuery รุ่นใหม่โดยทั่วไปจะเข้มงวดมากขึ้นเกี่ยวกับข้อกำหนดด้านความสะอาดของรหัสที่เกี่ยวข้องกับรหัสการโทร (รหัสของคุณ)

มีหลายรายการที่เลิกใช้แล้ว ( http://api.jquery.com/category/deprecated/ ) ไม่มีแท็กที่คัดค้านเนื่องจากหน้าเว็บขออภัย ค่าเสื่อมราคาที่เก่ากว่ามีแนวโน้มที่จะทำลายบางสิ่งบางอย่าง

ที่สะดุดตาที่สุด (สำหรับฉัน) :checkboxตัวเลือกและtoggle()ฟังก์ชั่นนั้นเลิกใช้แล้ว บางเวลาที่ผ่านมาการเปลี่ยนแปลงนี้ส่งผลต่อรหัส jQuery ของฉัน (เก่าที่สุด) ของฉันเอง ฉันไม่ได้ตระหนักถึงสิ่งนี้ในขณะที่

ในทางกลับกัน jQuery รุ่นใหม่มักมาพร้อมกับการปรับปรุงประสิทธิภาพอย่างมาก ตรวจสอบการเปลี่ยนแปลงหรืออาจเป็นหนึ่งในการนำเสนอของ John Resig เพื่อดูว่าการปรับปรุงประสิทธิภาพนั้นได้รับการรับรู้ที่ไหน หากคุณจะได้รับประโยชน์ใด ๆ จากพวกเขา ... ขึ้นอยู่กับคุณที่จะตัดสินใจ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.