Reinventare la ruota o usare la ruota esistente? [chiuso]

0

Vorrei chiedere qualcosa sulla gestione dei progetti. Ho un progetto che ha alcuni requisiti, può essere fatto da zero con l'uso di un grande framework. Forse alcuni strumenti sono necessari per alcune delle funzioni. Ma usare un framework sembra molto interessante, sembra che riduca la quantità di lavoro, ma prima dobbiamo studiare un framework. Ma studiare un quadro sembra molto grande per la squadra. Allora, cosa ne pensi? Fai partire la cosa da zero o studia un quadro e inizia come "In piedi sulle spalle dei giganti"?

    
posta Ted Wong 11.05.2012 - 06:57
fonte

3 risposte

2

Se le ruote non fossero mai state reinventate per una buona ragione, Honda Civics avrebbe le ruote scolpite dalla pietra.

Un buon motivo per non usare un framework è che molti framework fanno schifo così male, la luce li sfugge a malapena. Purtroppo, le persone che non usano nient'altro che framework e librerie tendono a non essere in una posizione ideale per valutarle.

Come sviluppatore del web sul lato client, ho imparato a favorire gli strumenti che ti aiutano a svolgere velocemente il lavoro senza compromettere la flessibilità che ottieni dal fare le cose a modo tuo, perché gli strumenti rimarranno fuori strada quando ne avrai bisogno a. Django e JQuery (non propriamente una struttura tecnicamente ma si adattano alla discussione) sono molto costruiti su questo principio. Entrambi sono anche stupidi popolari tra noi che continuano a volere un controllo più granulare su come implementare le cose.

Le collezioni prefabbricate di materiale costruito per te, in particolare per quanto riguarda l'interfaccia utente, non sono quasi mai flessibili come vorresti fossero state e buona fortuna a te quando vuoi iniziare a personalizzare qualcosa. Non sto dicendo che non dovresti guardarti intorno, ma se conosci la tua roba e gli strumenti disponibili sembrano un po 'scomodi e difficili da mantenere, scavi e fai-da-te. A lungo termine risparmierai tempo.

Ma la cosa fondamentale da ricordare è che puoi quasi sempre avere la tua torta e mangiarla anche tu. Se stai provando un nuovo framework o una nuova libreria e sembra pieno di inutili catene di dipendenze e richiede un'implementazione eccessivamente rigida che pone vincoli inutili sugli ambienti in cui vive, buttale fuori. È un cattivo strumento.

    
risposta data 11.05.2012 - 08:59
fonte
2

L'utilizzo di un framework adatto all'attività in corso di solito consente di risparmiare un sacco di tempo, specialmente se risolve problemi che non conosci.

Vedo i seguenti problemi:

  • Hai in mente una struttura specifica. La domanda è se è il più adatto per l'attività in corso?
  • Curva di apprendimento. Quanto è difficile da usare? Quanto è difficile eseguire il debug del tuo codice?
  • Il fattore di frescura di una grande struttura è ingannevole, ma irrilevante. Usa lo strumento migliore a portata di mano.
  • Tutti i framework hanno limiti e compromessi. Qualcuna di queste influirà su ciò che devi fare?

In questo momento hai bisogno di più informazioni per essere in grado di rispondere alla domanda per te. Ti suggerirei di fare una rapida prova di concetto nel quadro specifico che consideri, in modo da poter confrontare lo sforzo e avere un'idea di quanto sia adatto per il compito da svolgere.

Vorrei anche suggerire strongmente di tenere la mente aperta al fatto che il framework che consideri sia il migliore per il compito in corso o meno.

    
risposta data 11.05.2012 - 08:12
fonte
1

Non è male reinventare la ruota, ma solo quando è necessario.

Quando è necessario?

Quando trovi la necessità di compattare la quantità di codice per le dimensioni del programma, l'efficienza (nel senso che hai trovato un modo migliore) o per scopi di apprendimento. Queste sono le risposte che ho ricevuto dal feedback della community su domande simili.

Quindi la risposta che credo stia cercando è, NO! È preferibile utilizzare una libreria o una struttura pacchettizzata quando e se possibile e non reinventare la ruota per motivi di efficienza in termini di tempo e denaro. Sarà molto più semplice e veloce imparare nuove librerie e quindi reinventare la ruota per la maggior parte delle circostanze. Inoltre, si desidera assicurarsi che la libreria o il framework compresso comprenda competenze che il vostro team potrebbe già avere come conoscenze di programmazione e archiviazione di dati.

Spero che questo aiuti.

@Ted Wong. Per favore prova a ripulire la tua domanda. Credo che abbia dei meriti ma deve essere organizzato e chiesto meglio. Ti ho dato un voto per provare a correggere questo problema prima che il moderatore lo chiuda.

    
risposta data 11.05.2012 - 08:20
fonte