หากคุณต้องการสิ่งที่ทำใน Ruby อัญมณีสำหรับมันอาจมีอยู่จริง ดีโหลอัญมณีสำหรับมันอาจมีอยู่ บางส่วนมีความสง่างาม ลักษณะเด่น และได้รับการดูแลอย่างดี และบางรายการก็เขียนขึ้นเพื่อแก้ปัญหากรณีการใช้งานที่ผู้เขียนพบในคราวเดียว คุณมีอัญมณีมากมายให้เลือก ดังนั้นคุณจะเลือกอัญมณีที่ใช่อย่างไร ? ตัวเลือกนี้มีความสำคัญ – เมื่อคุณเสียใจที่เพิ่มอัญมณีให้กับโครงการของคุณ การเปลี่ยนกลับเป็นเรื่องที่เจ็บปวด
สถิติ
เมื่อฉันต้องการห้องสมุดเพื่อแก้ปัญหาที่ฉันพบ ฉันเริ่มต้นด้วย Ruby Toolbox Ruby Toolbox เป็นวิธีที่ยอดเยี่ยมในการรับรายการอัญมณีทั้งหมดในหมวดหมู่ (เช่น “การจัดการการสมัครสมาชิก”) พร้อมกับ:
-
มีคนใช้กี่คน
อัญมณียอดนิยมมักจะได้รับความนิยมมากกว่าด้วยเหตุผล และจะขอความช่วยเหลือได้ง่ายขึ้นมากหากทุกคนบนอินเทอร์เน็ตใช้อัญมณีเดียวกัน
-
อัปเดตล่าสุด/บ่อยแค่ไหน
เจมได้รับการอัปเดตอย่างสม่ำเสมอหรือว่าการอัปเกรดความเข้ากันได้ของ Rails 3.2 ยังคงอยู่ในคิวคำขอดึงหรือไม่ หากรุ่นล่าสุดเมื่อหลายปีก่อน คุณอาจต้องการข้ามไป มันอาจจะเข้ากันไม่ได้กับแอปของคุณ
ด้วยอัญมณีที่คุณพบในกล่องเครื่องมือ Ruby ที่กรองตามเกณฑ์สองข้อแรก คุณควรมีรายการอัญมณีที่คุณกำลังพิจารณาอยู่ กล่องเครื่องมือ Ruby ยังให้ลิงก์ไปยังแหล่งที่มา เอกสารประกอบ เว็บไซต์ และเครื่องมือติดตามจุดบกพร่อง ซึ่งคุณจะต้องใช้ต่อไป
รหัส &เอกสารประกอบ
-
อัญมณีได้รับการบันทึกไว้อย่างดีหรือไม่
ตรวจสอบเว็บไซต์หากมี เอกสารประกอบดีไหม? มี RDoc หรือไม่? คุณจะสามารถค้นหาคำตอบที่ต้องการเมื่อคุณต้องการได้หรือไม่
-
ผ่านการทดสอบอย่างดีหรือไม่
ลองดูที่การทดสอบ มัน มี a
test/
หรือspec/
ไดเรกทอรี? มีการทดสอบนอกเหนือจากtest_truth
. หรือไม่ ? ผู้เขียนจะทราบหรือไม่ว่าทำให้เกิดการถดถอยหรือไม่ -
ดูปัญหาและดึงคำขอ
ข้อบกพร่องได้รับการแก้ไขอย่างรวดเร็วหรือไม่? มีการอภิปรายเกี่ยวกับจุดบกพร่องและคำขอดึงข้อมูลหรือไม่ และได้รับการแก้ไขหรือไม่ หรือแค่นั่งเฉยๆ
-
ค้นหาชื่ออัญมณีบน Google, StackOverflow และ Reddit
ผู้คนพูดถึงเรื่องนี้อย่างไร? อัญมณีใดได้รับการแนะนำและอัญมณีใดที่ท้อใจ?
-
ค้นหา GitHub สำหรับบางคลาสที่เจมจัดให้
มีการใช้งานในแอปในโลกแห่งความเป็นจริงอย่างไร ดูเหมือนใช้งานง่ายหรือไม่? หรือนักพัฒนารายอื่นต้องแฮ็คปัญหาในอัญมณีหรือไม่
ณ จุดนี้ คุณควรจำกัดตัวเลือกของคุณให้แคบลงเหลือผู้สมัครที่เหลืออีกสองสามคน
เรื่องงี่เง่า
เกณฑ์เหล่านี้มีความเฉพาะตัวเล็กน้อย คุณจึงต้องค้นหาอัญมณีที่เหมาะสมสำหรับ โครงการของคุณ . แต่ถ้าพลาดแล้วจะเสียใจภายหลัง
-
จากตัวอย่างในเอกสารประกอบ ห้องสมุดรู้สึกถึง Ruby-ish ไหม
มันใช้สำนวนทับทิมหรือไม่? หรือคุณรู้สึกว่าคุณกำลังเขียน Java หรือ PHP อยู่จริงหรือ สิ่งนี้เกิดขึ้นบ่อยครั้งอย่างไม่น่าเชื่อกับ Wrapper API
-
สร้างจากชิ้นส่วนเล็กๆ ที่เข้ากันได้ดีไหม
คุณสามารถใช้สิ่งของที่ผู้เขียนมอบให้คุณเพื่อสร้างสิ่งที่ผู้เขียนไม่เคยนึกถึงได้หรือไม่? เพราะคุณอาจจะต้องการ
-
อัญมณีอื่นที่อยู่ในโครงการของคุณใช้อัญมณีอยู่แล้วหรือไม่
โบนัส คุณเพิ่งประหยัดเวลาในการผสานรวม และคุณไม่จำเป็นต้องต่อสู้กับ Bundler ในเรื่องการกำหนดเวอร์ชัน
-
อัญมณีตั้งสมมติฐานเกี่ยวกับแอปของคุณหรือไม่ แอปของคุณเหมาะกับสมมติฐานเหล่านั้นไหม และจะเหมาะกับพวกเขาเสมอหรือไม่
เจมบางอย่าง เช่น ActiveResource ตั้งสมมติฐานเกี่ยวกับ API ของเซิร์ฟเวอร์ที่พวกเขาพูดคุยด้วย อื่นๆ เช่น ResourceController ตั้งสมมติฐานว่าคอนโทรลเลอร์ของคุณจะทำอะไร อัญมณีที่สร้างสมมติฐานสามารถทำให้คุณเร็วขึ้นมากและโค้ดของคุณง่ายขึ้นมาก—ในขณะที่สมมติฐานเหล่านั้นยังคงอยู่ . หากสมมติฐานเหล่านั้นเข้ากันไม่ได้กับแอปของคุณ คุณจะพบว่าตัวเองใช้เวลาหลายวันในการแก้ไข แก้จุดบกพร่อง และในที่สุดก็ฉีกอัญมณีออก
โอ้โห เยอะจัง
ใช่ มีเกณฑ์มากมายที่คุณสามารถใช้เลือกอัญมณีที่ดีที่สุดสำหรับโครงการของคุณ และโดยปกติคุณไม่จำเป็นต้องดำเนินการทั้งหมด โดยส่วนใหญ่แล้ว คุณสามารถกระโดดไปที่ Ruby Toolbox และเลือกอัญมณีที่ได้รับความนิยมมากที่สุด
แต่มีอัญมณีบางส่วนที่กลายเป็นส่วนหลักของแอปของคุณ สิ่งต่างๆ เช่น ไลบรารี HTTP ไลบรารีฐานข้อมูล หรืออะไรก็ได้ที่สัญญาว่าจะทำให้ตัวควบคุมของคุณสะอาดขึ้น และควรสละเวลาเพิ่มเติมเพื่อให้แน่ใจว่าสิ่งเหล่านี้ อัญมณีนั้นสะอาด ได้รับการดูแลอย่างดี มีเอกสารประกอบอย่างดี และเหมาะสมกับรูปแบบความคิดของคุณว่า ควร ทำงาน
ฉันใส่เกณฑ์ทั้งหมดเหล่านี้ใน Google สเปรดชีต ดังนั้นเมื่อคุณต้องการเลือกอัญมณีที่ดูคล้ายคลึงกันเป็นจำนวนมาก คุณก็สามารถเปรียบเทียบได้อย่างง่ายดาย คว้าได้ที่นี่