Come gestisci la scoperta del codice errato e falso nel tuo team? [duplicare]

6

Ogni anno a gennaio elaboriamo un grosso compito con il nostro sistema. Mentre le prestazioni durante l'attività erano superiori alla media, il follow-up di manutenzione ha attualmente molti problemi con i lavori eseguiti troppo a lungo e fuori dai rispettivi orari. Pertanto ho il compito di ottimizzare questi lavori di manutenzione e sto facendo così la revisione del codice più completa che il sistema abbia mai visto. Come sto bene con l'analisi del codice, sto anche facendo un sacco di correzioni di bug.

Questo significa che vedo un sacco di codice e implementazioni errati o completamente errati. La mia domanda è: come posso affrontarlo di fronte ai miei colleghi?

Lo odio se causo un bug (che credo capiti a tutti a volte) e qualcun altro lo risolve senza dirmelo. Perché allora non posso imparare dal mio errore. D'altra parte non voglio essere il ragazzo della squadra che è costantemente fastidioso su come tutti gli altri devono fare il suo lavoro. Inoltre sono un po 'diffidente nei confronti della mia arroganza. Non voglio trovarmi nella posizione in cui inizio a guardare i colleghi solo perché la mia mente prevenuta pensa che il mio codice sia superiore. Al momento non sto controllando chi ha causato un errore, lo aggiusto semplicemente. Non sono sicuro se questo sia il modo migliore per andare.

Sono uno sviluppatore di livello Junior e l'inglese non è la mia lingua madre. Qualsiasi consiglio (e modifiche alla grammatica) è molto apprezzato. Il team segue il framework Rational Unified Process.

    
posta Lucas Hoepner 07.02.2013 - 10:35
fonte

4 risposte

4

Ciò dipenderà dalla cultura e dai processi della tua azienda. Ma personalmente non lo risolverei solo per una serie di motivi.

  • Potrebbe effettivamente essere correxct e la mia comprensione potrebbe essere sbagliata
  • Potrebbe essere il minore di due mali, potrebbe essere sbagliato ma potrebbe impedire del tutto l'eventuale fallimento di un'altra parte
  • Potrebbe non valere il tempo e i soldi delle aziende per risolverlo, potrebbero esserci cose più importanti su cui lavorare.

La cosa migliore da fare in questa situazione è generare un bug report. Nota per alcuni lavori è comunque necessario ad es. per motivi di sicurezza, tutti i difetti probabilmente devono essere formalmente sollevati in modo che possano essere valutati in sicurezza.

    
risposta data 07.02.2013 - 10:48
fonte
2

Su alcuni progetti, esiste un processo quando si scopre un potenziale problema nel codice:

  1. Per prima cosa dì all'autore o al tuo capo progetto,

  2. Segnalalo nel tracker dei problemi,

  3. Attendi l'assegnazione della risoluzione del problema a te o a un altro membro del team.

La regola generale è di NON correggere un bug se non richiesto esplicitamente. Alcuni motivi sono:

  • Costa tempo e tu non sei la persona migliore del progetto per decidere come bilanciare tra quel costo in termini di tempo e la criticità del bug.

  • Se non conosci abbastanza la base di codice, potrebbe introdurre bug in parti che non immagini

  • Non è un bug, è una funzionalità.

risposta data 07.02.2013 - 11:23
fonte
1

Potresti trovarti nella situazione perfetta con questa revisione del codice fai-da-te-una-volta. Dato che stai correggendo i bug a sinistra e a destra, ciò che dovresti fare è tenere nota dei pattern / tipi di bug. Non dirlo ai singoli sviluppatori (a meno che non venga richiesto) e non preoccuparti di chi ha scritto il codice - basta correggerlo e tenerne traccia.

Quando hai terminato il tuo lavoro, vai dal tuo manager e digli della situazione:

We have a lot of developers doing bad things in the code and they are probably not aware of how to do it better. During my review work in the recent weeks, I have kept track of the typical mistakes that have been made. Would it be possible to arrange a meeting with the developers in which we could discuss the most blatant problems in order to educate the whole team and dramatically reduce our error potential in the future?

Questo tipo di situazione di vittoria non verrà quasi mai rifiutata da un manager e, poiché presenterai i modelli di errore, eviterai di offendere o di individuare uno sviluppatore specifico. Inoltre, riduci il tempo trascorso a parlare con gli altri dei loro bug e assicurati che tutti i membri del team siano consapevoli di tali insidie in seguito.

    
risposta data 07.02.2013 - 11:24
fonte
0

La revisione del codice non è mai un'attività di una sola persona. La revisione del codice avviene sia con il revisore sia con l'autore presente e guardando il codice insieme (idealmente) o comunicando tramite strumenti ( eg , Review Board ). Se non stai coinvolgendo l'autore, non stai rivedendo il codice, stai correggendo i bug. Se stai correggendo i bug, non preoccuparti degli aspetti della recensione.

    
risposta data 07.02.2013 - 12:53
fonte

Leggi altre domande sui tag