2010-03-26 13 views
9

Quando ritieni che sia appropriato/necessario approfondire le immersioni nel codice sorgente degli strumenti open source per ottenere una comprensione degli strumenti che usi? (nHibernate, StructureMap, Rhino Mock, ecc.)Immersioni profonde nel codice open source

risposta

6

Quando non funziona come mi aspetto o devo implementare qualcosa che non è descritto molto bene nella documentazione o con esempi. Di solito, è una risposta a fare qualcosa che penso dovrebbe funzionare, ma non capire perché non lo fa. FWIW, questo vale anche ogni volta che posso accedere al codice sorgente, indipendentemente da come è "aperto".

2

vorrei dire che ci sono due scenari per questo:

  1. Quando il prodotto OpenSource è parte del proprio core business (la vostra azienda dipende da esso).
  2. Quando si vuole iniziare a contribuire ad esso.
0

Potrebbe essere necessario fare questo se il set di strumenti che si sta utilizzando non fornisce la funzionalità di cui avete bisogno, o se ci sono errori nei vostri strumenti. Ad esempio, di recente stavo usando una libreria di griglie JavaScript che non supportava l'ordinamento di una colonna in determinati formati di data/ora - quindi ho dovuto entrare nel loro codice e capire come funziona in modo da trovare una soluzione alternativa. . Alla fine ho dovuto implementarlo personalmente e ho restituito il codice al loro progetto.

0

Penso che in generale, se stai facendo qualcosa che richiede immersioni profonde, probabilmente stai facendo qualcosa che non dovresti fare. Quando hai bisogno di sapere le cose ad un livello in cui non stai facendo cose standard, devi pensare molto attentamente se stai facendo la cosa giusta o meno.

L'eccezione è quando si sta costruendo qualcosa in cui la biblioteca si trova nell'ambito della competenza principale della vostra azienda. Se stai costruendo un sistema di compilazione online, probabilmente vorresti sapere troppo sui sistemi di compilazione sottostanti (Maven o qualsiasi altra cosa), e probabilmente dovresti immergerti profondamente in questi finché non li conosci bene.

1

Inizio a tuffarmi nel codice sorgente ogni volta che ho bisogno di sapere: cosa fa? O perché non funziona come penso che dovrebbe. Questo di solito viene dopo aver letto la documentazione, googling, ecc.

Anche se è un framework che ho usato per un po '- è nel mio interesse conoscere un po' il codice sorgente come punto di riferimento per sapere come funziona .

Se si desidera sapere come funziona qualsiasi framework, è sempre necessario iniziare con: "Che cosa dovrebbe fare questo framework IoC/ORM per poter eseguire questa funzione". Trovo che pensare da dentro aiuta a volte con le strutture.