หากมีสองวิธีในการเข้าใกล้งานวิธีหนึ่งควรเลือกระหว่างพวกเขา?


11

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

ฉันมักจะนั่งที่นั่นไม่รู้จะทำอะไร - แล้วไม่ทำอะไรเลย ... มีวิธีเลือกอย่างดีไหม? ฉันควรลองพวกเขาทั้งหมดหรือไม่

เพื่อให้มีความเฉพาะเจาะจงมากขึ้นสำหรับบริบทฉันพยายามสร้างเกมกระดานที่มีน้ำหนักเบามากซึ่งฉันต้องการส่วนของหน้าจอที่ฉันสามารถหมุนตารางเกมกระดานซูมเข้าไปในตารางและย้ายชิ้นส่วนบนตารางนี้ ฉันไม่รู้ว่าจะทำอย่างไร แต่ฉันพบสิ่งต่าง ๆ ออนไลน์เช่น Core Animation, Core Graphics, Sprite Kit และฉันเห็นข้อโต้แย้งและต่อต้านพวกเขา - ตัวอย่างเช่น Sprite kit อยู่ในระดับสูง แต่รักษาอัตราเฟรมไว้ที่ 60 ซึ่ง สิ้นเปลืองแบตเตอรี่เมื่อไม่มีอะไรเคลื่อนไหวในหน้าจอ Core Animation เป็น API ระดับต่ำกว่าซึ่งคัดค้านแนวทางของ Apple ในการ "ใช้ระดับสูงสุดของนามธรรม" ฉันไม่ต้องการเรียนรู้ 3 สิ่งที่ต้องใช้ 1 มีวิธีที่ฉันสามารถเลือกและรับ unstuck ได้หรือไม่

ฉันทิ้งคำถามนี้ไว้ค่อนข้างคลุมเครือเพราะฉันคิดว่ามันใช้ได้กับทุกด้านของซอฟต์แวร์

คำตอบ:


16

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

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

ข้อพิจารณาด้านราคา / ผลประโยชน์ที่เป็นไปได้สำหรับห้องสมุด:

  • การบำรุงรักษา
  • สะดวกในการใช้
  • เอกสารประกอบที่เพียงพอ
  • โค้งการเรียนรู้
  • ประสิทธิภาพโดยรวม
  • ซื้อเทียบกับ Build

... ฯลฯ โปรดทราบว่าข้อควรพิจารณาหลายข้ออาจเป็นอัตวิสัย

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

กลยุทธ์ทางเลือกในการตัดสินใจ: เลือกสิ่งที่คุณต้องการ


4
ในกรณีของการ libs และการใช้งานของบุคคลที่ 3 ฉันจะเพิ่ม: การสนับสนุนจากชุมชน , รุ่น estable (ไม่เบต้าผู้สมัครปล่อยหรือภาพรวม) , เอกสารเกี่ยวกับความสมดุล
LAIV


15

ในฐานะที่เป็นภาคผนวกของคำตอบที่ยอดเยี่ยมของ Robert Harvey นี่คือ 2 เซนต์ของฉัน:

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

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

บางครั้งมันก็เป็นการดีกว่าที่จะตัดสินใจแม้ว่ามันจะดีที่สุดเพียงอันดับสองตราบใดที่คุณทำจริง

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