Può un Code Review aiutare ad apprendere il code-flow e / o la tecnologia di un grande code-base? [chiuso]

4

Sono nuovo di VC ++ e quindi non ho molta familiarità con COM, ActiveX, IDL ecc. Quando ho parlato di questo con il mio capo tecnico, mi ha assegnato il compito di eseguire la revisione del codice dei file che riteneva importanti , in termini di codice con cui presto lavorerò.
La base di codice effettiva è di ca. 10000 file.

Sono un po 'scettico sul fatto che fare una revisione del codice possa aiutare a capire VC ++ (ho già lavorato con C ++ su Linux estensivamente per 2 anni e ho molta esperienza in Actionscript, Processing e molti altri linguaggi).

Dato che il codice deve ancora essere compilato ed eseguito sul mio sistema (preferirei mettere i breakpoint e trovare il flusso del codice), il mio capo tecnico mi ha dato il lavoro di revisione del codice. C'è un modo migliore?

    
posta Nav 21.10.2011 - 14:37
fonte

2 risposte

2

Questo è un buon scenario: sembra che ti venga concessa l'opportunità di imparare - sii grato che non ti viene chiesto di codificare nulla subito.

Consigli:

  1. Stabilisci a quale versione di DirectX stai lavorando.
  2. Determina quali parti del sistema utilizzano "gestito" o "codice non gestito".
  3. Familiarizzare con i concetti di programmazione COM, specialmente con l'interoperabilità .NET con gli oggetti COM.
  4. Utilizzare Visio o altri strumenti di diagrammi per decodificare il codice in diagrammi, ad esempio Sequence Diagrams. Alcune versioni di Visual Studio forniscono questa funzionalità.
  5. Se si utilizza .NET, un buon esercizio per comprendere l'ordine di compilazione consiste nell'analizzare i file *. * proj: questi possono essere creati sulla riga di comando usando msbuild.exe, ma è ancora più semplice configurare i comandi di compilazione usando NAnt per chiamare msbuild.exe, come questo:

    <exec program="${framework::get-framework-directory(framework::get-target-framework())}\msbuild.exe" commandline="${solution.file} /t:Rebuild /p:Configuration=${build.configuration} /p:TrackFileAccess=${build.trackfileaccess} /v:detailed" workingdir="."/>   
    

Capire come costruire il sistema senza dover dipendere dall'interfaccia utente di Visual Studio ti aiuterà a familiarizzare maggiormente con le dipendenze del sistema e probabilmente impressionerà il tuo team.

    
risposta data 22.10.2011 - 17:43
fonte
1

In generale, , la revisione del codice è un buon modo per imparare un codice base.

Come descritto, forse , la revisione del codice è un modo per imparare VC ++.

So che è carente, ma dipende veramente dall'obiettivo della revisione del codice e da come viene effettuato. Se sei utilizzato come un passaggio di controllo qualità, eseguendo autonomamente la revisione del codice presso la tua postazione di lavoro per distrarti mentre il tuo sistema di sviluppo è impostato, allora avrai difficoltà a imparare qualsiasi cosa. Puoi certamente trasformarlo in un'esperienza di apprendimento con la giusta mentalità (prendere appunti, registrare domande), ma è un modo travolgente per iniziare. Non hai un contesto e, in questo ambiente, non c'è modo di testare le tue ipotesi. Questo non è dissimile dal tropo vecchio di mettere i nuovi membri del team su correzioni di bug a bassa priorità. Imparerai a sufficienza per risolvere il problema, ma non avrai il quadro generale.

Se l'obiettivo della revisione del codice è quello di familiarizzare con il sistema, allora dovrebbe essere eseguito come parte di un esercizio di gruppo, con i proiettori e la discussione. Una revisione del codice è un ottimo modo per focalizzare la comunicazione e il feedback istantaneo che puoi ottenere può accelerare la tua curva di apprendimento. Avrai l'opportunità di indicare parti confuse e ottenere risposte nel contesto del codice su cui lavorerai.

Modifica
Dati i tuoi limiti, ho altri due suggerimenti. Se è possibile configurare una macchina che eseguirà VC ++ (ma non necessariamente l'ambiente di sviluppo completo del progetto), è possibile provare i concetti di prototipazione quando li si incontra nel codice. Quindi, scopri una nuova tecnologia nella lettura del codice, attiva Visual Studio, trova un esempio online e fallo funzionare, quindi adatta l'esempio (il più possibile) in modo che corrisponda al codice che stai leggendo.

L'altro suggerimento è di avvicinarlo come descritto in quest'altro risposta . Questo è un nuovo sistema, non ne sai nulla e sei incoraggiato a non disturbare gli altri. Puoi ancora fare qualche misura di "debugging" attraverso i breakpoint, devi solo farlo su carta. Ciò si sentirà doloroso (lo è), ma migliorerà le tue capacità di lettura del codice e ti darà un altro strumento da utilizzare quando accendere un debugger non è ottimale.

    
risposta data 21.10.2011 - 15:09
fonte

Leggi altre domande sui tag