Se ci sono due modi per affrontare un compito, come si dovrebbe scegliere tra loro?

10

Ho un caso d'uso specifico e ho trovato 3 modi di farlo su Internet, che sono definiti per casi d'uso vaghi. Sto fissando queste tre domande su quale applicare.

Tendo a sedermi lì senza sapere cosa fare - quindi non fare nulla ... Esiste un buon modo di scegliere? Dovrei provare tutti loro?

Per essere più specifico per qualche contesto, sto cercando di creare un gioco da tavolo molto leggero in cui ho bisogno di una porzione dello schermo che posso ruotare la scheda griglia di gioco, zoom nella griglia e sposta i pezzi su questa griglia . Non avevo idea di come farlo, ma ho trovato cose online come Core Animation, Core Graphics, Sprite Kit e ho visto argomenti a favore e contro di loro - ad esempio il kit Sprite è di alto livello, ma mantiene il frame rate a 60, che è uno spreco di batteria quando nulla si muove davvero sullo schermo. Core Animation era un'API di livello inferiore, che si oppone alla guida di Apple di "prendere il più alto livello di astrazione". Non voglio imparare 3 cose da usare 1. C'è un modo per scegliere e sbloccare?

Sto lasciando questa domanda piuttosto vaga intenzionalmente come penso che si applica a tutto il settore del software.

    
posta Skidushe 21.06.2017 - 18:45
fonte

2 risposte

12

Esegui un'analisi costi / benefici su ciascuno degli approcci e scegli l'approccio con il rapporto costi / benefici complessivo più elevato.

Nel caso di librerie concorrenti che svolgono essenzialmente la stessa funzione, il modo migliore, più semplice e più veloce per eseguire tale analisi è quello di montare piccoli prototipi usando ciascuna libreria. Quale preferire dovrebbe quindi diventare abbondantemente chiaro.

Possibili considerazioni sui costi / benefici per le librerie:

  • Maintainability
  • Facilità d'uso
  • Documentazione adeguata
  • Curva di apprendimento
  • Prestazione complessiva
  • Acquista e crea

... ecc. Si noti che molte di queste considerazioni possono essere alquanto soggettive.

Non importa se sia un hobby o una carriera. Dovrai (e dovresti) usare la stessa procedura se decidi di continuare le tue esplorazioni in una vera carriera.

Strategia decisionale alternativa: Scegli quello che ti piace.

    
risposta data 21.06.2017 - 18:51
fonte
12

Come addendum all'eccellente risposta di Robert Harvey, ecco i miei 2 centesimi:

Scegli l'approccio che sembra essere il minimo sforzo per iniziare, ma assicurati di tenere la porta aperta per passare a un approccio diverso quando si scopre che la soluzione che hai scelto per prima ha troppi problemi. E se sospetti determinati problemi in determinate aree del tuo scenario di utilizzo, assicurati di implementarli per primi, in modo da ottenere un feedback abbastanza tempestivo prima che sia troppo tardi per annullare la tua decisione iniziale.

Quanto bene funziona dipende molto dal caso. Ad esempio, se hai bisogno di una semplice libreria per accedere a un dispositivo esterno o un determinato formato di file, assicurati di incapsulare l'accesso a tutte le librerie in un livello della tua applicazione. Tuttavia, nel caso in cui non si sia sicuri su quale framework scegliere o quale linguaggio di programmazione scegliere, è probabile che un'analisi approfondita costi / benefici sia tutto ciò che si può fare.

A volte è meglio prendere una decisione, anche se è solo la seconda migliore, purché lo faccia effettivamente.

    
risposta data 21.06.2017 - 22:09
fonte

Leggi altre domande sui tag