Nếu có hai cách tiếp cận một nhiệm vụ, người ta nên chọn giữa chúng như thế nào?


11

Tôi có một trường hợp sử dụng cụ thể và đã tìm thấy 3 cách thực hiện trên internet, được xác định cho các trường hợp sử dụng mơ hồ. Tôi đang nhìn chằm chằm vào ba người này tự hỏi nên áp dụng.

Tôi có xu hướng ngồi đó không biết phải làm gì - sau đó không làm gì cả ... Có cách nào tốt để chọn không? Tôi có nên thử tất cả chúng không?

Để cụ thể hơn cho một số bối cảnh, tôi đang cố gắng tạo một trò chơi bảng rất nhẹ, nơi tôi cần một phần màn hình để tôi có thể xoay lưới trò chơi bảng, phóng to vào lưới và di chuyển các mảnh trên lưới này . Tôi không biết làm thế nào để làm điều này, nhưng tôi đã tìm thấy những thứ trực tuyến như Core Animation, Core Graphics, Sprite Kit và tôi đã thấy các đối số và chống lại chúng - ví dụ như bộ Sprite ở mức cao, nhưng vẫn giữ tốc độ khung hình ở mức 60, là một sự lãng phí pin khi không có gì thực sự di chuyển trong màn hình. Core Animation là một API cấp thấp hơn, phản đối hướng dẫn của Apple về "lấy mức độ trừu tượng cao nhất". Tôi không muốn học 3 điều để sử dụng 1. Có cách nào tôi có thể chọn và không bị trói buộc không?

Tôi đang để lại đây là một câu hỏi mơ hồ có chủ đích vì tôi nghĩ nó được áp dụng trên toàn bộ lĩnh vực phần mềm.

Câu trả lời:


15

Bạn thực hiện phân tích chi phí / lợi ích trên mỗi phương pháp và chọn phương pháp có tỷ lệ lợi ích / chi phí chung cao nhất.

Trong trường hợp các thư viện cạnh tranh thực hiện cùng một chức năng, cách tốt nhất, dễ nhất và nhanh nhất để thực hiện phân tích đó là đứng lên các nguyên mẫu nhỏ sử dụng mỗi thư viện. Cái nào thích thì nên trở nên rõ ràng.

Cân nhắc chi phí / lợi ích có thể có cho các thư viện:

  • Bảo trì
  • Dễ sử dụng
  • Tài liệu đầy đủ
  • Đường cong học tập
  • Tổng hiệu suất
  • Mua so với bản dựng

... vv Lưu ý rằng nhiều trong số những cân nhắc này có thể hơi chủ quan.

Cho dù đó là một sở thích hay một nghề nghiệp không quan trọng. Bạn sẽ (và nên) sử dụng quy trình tương tự nếu bạn quyết định tiếp tục hành trình khám phá của mình thành một nghề nghiệp thực sự.

Chiến lược ra quyết định thay thế: Chọn một chiến lược bạn thích.


4
Trong trường hợp libs và triển khai của bên thứ 3, tôi sẽ thêm: hỗ trợ cộng đồng , phiên bản có thể bán được (không phải betas, phát hành ứng cử viên hoặc ảnh chụp nhanh) , tài liệu về số dư
Laiv


15

Là một phụ lục cho câu trả lời xuất sắc của Robert Harvey, đây là 2 xu của tôi:

Chọn một cách tiếp cận có vẻ là nỗ lực ít nhất để bắt đầu, nhưng hãy chắc chắn rằng bạn giữ cho cánh cửa mở để chuyển sang một cách tiếp cận khác khi nó đưa ra giải pháp bạn chọn trước có quá nhiều vấn đề. Và nếu bạn đang nghi ngờ một số vấn đề nhất định trong một số lĩnh vực nhất định trong kịch bản sử dụng của mình, hãy đảm bảo bạn triển khai các khu vực đó trước, để bạn nhận được phản hồi sớm, trước khi quá muộn để đưa ra quyết định ban đầu.

Làm thế nào tốt công việc này phụ thuộc rất nhiều vào trường hợp. Ví dụ: nếu bạn cần một thư viện đơn giản để truy cập một thiết bị bên ngoài hoặc định dạng tệp nhất định, hãy đảm bảo bạn gói gọn tất cả quyền truy cập thư viện trong một lớp của ứng dụng của bạn. Tuy nhiên, trong trường hợp bạn không chắc chắn nên chọn khung nào, hoặc chọn ngôn ngữ lập trình nào, phân tích chi phí / lợi ích kỹ lưỡng có lẽ là tất cả những gì bạn có thể làm.

Đôi khi tốt hơn là chỉ đưa ra quyết định, ngay cả khi đó chỉ là quyết định tốt thứ 2, miễn là bạn thực sự làm điều đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.