Quando effettuare il porto vs quando sviluppare?

2

Sfondo

Il mio capo mi ha dato un progetto a cui ha rinunciato, è un sottotitolo di caratteri CFF / OTF + funzione di incorporamento. Non c'è scadenza (beh, è più un progetto di ricerca che una richiesta di funzionalità). Così ho iniziato con la libreria sfntly e il supporto esteso CFF ad esso. Penso di essere ancora nelle prime fasi del progetto poiché ho appena finito il decoder per il Top DICT. Esegui il soldato con il manuale di riferimento di Adobe ...

Poi ho trovato un progetto java dal fontbox apache che ha la funzionalità di cui ho bisogno e anche una struttura di codice simile nonostante sia java. Ho solo bisogno di portarlo alla libreria C ++.

Conundrum

Quindi, come decide un codificatore esperto quando vuole portare una libreria? Soprattutto se aveva già iniziato il suo progetto e scoperto un progetto molto simile online? Sarebbe saggio da parte mia continuare il mio progetto o sto solo reinventando la ruota?

    
posta legokangpalla 30.03.2017 - 10:31
fonte

2 risposte

2

Dovrai esaminarlo da una prospettiva costi-benefici, che sarà specifica del tuo progetto. Quello che stai cercando è che ti costerà meno fatica a lungo termine. Detto questo, posso darti alcune cose da considerare.

Motivi per la porta:

  • Si inizia con una base di codice già pronta, conosciuta (o almeno funzionante). Questo ti dà il vantaggio di non dover re-imparare ciò che gli autori hanno appreso durante lo sviluppo.
  • La manutenzione del codice originale viene scaricata da qualcun altro. Tutto ciò che devi fare con le modifiche è incorporarle nella versione con porting.
  • Se contribuisci al progetto originale (pensa PyLucene o Lucy ), la community potrebbe aiutarti a mantenere la porta per te.

Motivi per scrivere il tuo:

  • Lo possiedi e puoi utilizzarlo o concederlo in licenza a tuo piacimento.
  • Le modifiche si verificano nella tua pianificazione, non nel progetto.
  • La manutenzione non richiede qualcuno che comprenda le lingue di origine e di destinazione.
risposta data 30.03.2017 - 13:16
fonte
2

Trovate la licenza della biblioteca, la consegnate al vostro capo, che la consegna al vostro team legale e determinano se tale licenza è accettabile per i vostri scopi o meno. Ad esempio, se la società è determinata a creare software proprietario, allora una libreria con licenza GPL non è più adatta a te.

Allo stesso tempo, scarichi la libreria (se consentito), guarda il codice sorgente e determina qual è la qualità del codice. Non c'è niente di peggio che lavorare intorno agli errori nella libreria danneggiata.

    
risposta data 30.03.2017 - 20:58
fonte

Leggi altre domande sui tag