Come sfogliare in modo efficiente un progetto open source?

2

È davvero frustrante scoprire che ogni altro codice sorgente e documentazione del progetto open source, segue una struttura di directory o convenzioni di denominazione leggermente diversa o enorme.

  1. Come oriento rapidamente le convenzioni di indirizzario / denominazione?
  2. Accedi all'architettura generale dell'app senza passare attraverso una serie di file del codice sorgente?
  3. Come faccio a raggiungere il codice pertinente (che mi interessa) più veloce?
posta explorest 29.04.2011 - 10:04
fonte

2 risposte

2

Il modo migliore è scaricare l'intero progetto sotto il tuo IDE preferito e utilizzare gli strumenti IDE per ottenere una prima panoramica.

Ad esempio, Apache Software Foundation dispone di una sola enorme radice di Subversion da cui è possibile estrarre qualsiasi singolo progetto in pochi clic utilizzando Eclipse. Questo crea un progetto nel tuo spazio di lavoro ed è possibile utilizzare tutti i potenti strumenti di Eclipse per comprendere la gerarchia delle classi, navigare (Ctrl / clic) da una classe alla successiva o semplicemente cercare artefatti nei file. Lo stesso vale per Intellij o Netbeans, ovviamente.

Per github, basta aggiungere un plugin git a Eclipse e fare lo stesso. A Sourceforge usano anche Subversion e sono abituati a fare affidamento su CVS, ma lo stesso si applica.

Sembra un sacco di lavoro ma credimi non lo è. Questa strategia ti permetterà anche di comprendere i vari modi di costruire e architettura OSS (Maven, Hudson / Jenkins, Ant, make / nmake ecc ...).

Dopo averlo fatto una volta, è molto più semplice la seconda volta e scoprirai che è sempre la stessa procedura.

Le tue abilità di sviluppatore avranno una spinta dal prendere seriamente questa opzione.

    
risposta data 29.04.2011 - 10:47
fonte
1
  1. Le convenzioni di denominazione e directory diventeranno chiare quando inizierai a leggere il codice sorgente
  2. La documentazione dovrebbe parlarne. Alcuni progetti utilizzano estesamente schemi di progettazione con molti callback, delegati e così via. Le precedenti esperienze e conoscenze in questi settori renderanno sicuramente più facile cogliere l'architettura generale del progetto. Quindi, ci sarà una mailing list per sviluppatori per ogni progetto (alcuni potrebbero averne più di uno)
  3. Se usi Emacs o Vim, usa etags / ctags in combinazione con cscope. Penso che Eclipse, Netbeans, Anjuta e simili abbiano anche caratteristiche simili.

IMHO, dedicare del tempo a leggere le fonti, la documentazione, gli archivi delle mailing list per capire qualsiasi progetto, sia open source che non dovrebbe essere OK. Dopotutto, molte ore di lavoro sono state inserite e capire tutto dovrebbe richiedere del tempo. Potresti avere un'opinione diversa qui.

    
risposta data 29.04.2011 - 10:58
fonte

Leggi altre domande sui tag