Posso eseguire una revisione del codice anche se sono molto inesperto? [chiuso]

1

Ho insegnato a me stesso Python come prima lingua per 2 anni. Finora ho fatto alcuni corsi online (NLP, Design of a Computer Program, ecc.) E ho risolto alcuni enigmi, ma non ho mai lavorato con grandi applicazioni.

Eppure adesso ho l'opportunità di fare del vero lavoro con Python su un progetto della mia università. È un'app web che utilizza il framework Pyramid, attualmente a circa 8000 linee. E stanno usando alcuni trucchi che non ho mai visto prima - roba come __metaclass__ , molte cose OO di cui non ho esperienza precedente.

Credi che potrei ancora fare un lavoro utile per il progetto?

E cosa potrei fare per dimostrare il mio valore?

Modifica: gli sviluppatori del progetto si trovano in un'università diversa. Il lavoro disponibile presso la mia università sembra essere un classico lavoro di revisione del codice: controlla il codice per i difetti di sicurezza, lo stile, la coerenza, l'efficienza ecc.

    
posta sjakobi 17.06.2013 - 19:17
fonte

4 risposte

4

Do you believe that I could still do useful work for the project?

Sì, ma sii onesto sul tuo livello di esperienza.

Alcune cose su cui potresti essere in grado di lavorare sono gli elementi di lavoro (bug, attività, ecc.) che il team ha classificato come "abbastanza banale, senza fretta". Questa classificazione è dal punto di vista di qualcuno che si trova a proprio agio con la base di codice esistente, quindi aspettati che sia molto più difficile per te.

Anche l'assistenza nella revisione del codice può essere un'esperienza di apprendimento. Non aspettarti di essere un importante contributore alla recensione.

    
risposta data 17.06.2013 - 20:05
fonte
3

Can I perform a code review although I am very inexperienced?

Sì, potresti, e dovresti partecipare a una revisione del codice ogni volta che viene fatto (e hai tempo libero). Anche se non contribuisci, puoi imparare qualcosa di nuovo, quindi è quasi sempre utile.

Do you believe that I could still do useful work for the project?

Dato che sei nuovo e inesperto, il tuo contributo è molto limitato, e sicuramente spero che tu abbia un dirigente che ti guidi e ti istruisca. Ti ci vorrà molto per diventare un maestro (vedi Ti insegnano a programmare in dieci anni ), ma non ti arrendere. Col passare del tempo, la tua esperienza aumenterà e diventerai utile.

    
risposta data 17.06.2013 - 19:54
fonte
1

La maggior parte delle volte no. Ma prima devi rispondere (almeno) alle seguenti domande, nel caso tu sia l'eccezione:

  1. Riesci a riconoscere possibili falle nella sicurezza leggendo il codice sorgente? Se sì, puoi proporre una soluzione?

  2. Sei a conoscenza di una manciata di buone pratiche di codifica e in grado di catturarle? Dalla liberazione della memoria e dall'assenza di perdite di memoria, applicare l'ambito corretto ai membri per utilizzare le prestazioni di misura senza un profiler (e molto altro ancora)

  3. Sei, almeno, a un livello intermedio sulla lingua in cui è scritto il programma che stai recensendo?

  4. Sei esperto abbastanza da recensire un collega più talentuoso che è migliore di te a quanto sopra?

Naturalmente, ci sono più punti da cercare ...

    
risposta data 17.06.2013 - 19:31
fonte
-3

Non capisco perché no. Sii rispettoso e inquadra le cose in termini di come avresti fatto qualcosa di diverso o come se potesse essere meglio se ... ecc. Anche quando i livelli di esperienza sono abbinati, la revisione del codice può essere tanto un'opportunità di imparare dal rivisto com'è da imparare dal revisore. Di solito non si tratta di giudicare con un feedback zero sulle proprie opinioni (anche se IMO un buon leader tecnologico schiafferà Kool Aid senza senso che non porta davvero nulla di utile a una soluzione). A volte una revisione del codice è ottima solo per le cose che realizzi è inefficiente o inutile come lo spieghi a un altro dev.

    
risposta data 17.06.2013 - 20:43
fonte

Leggi altre domande sui tag