Come posso giudicare se un progetto è particolarmente complesso o se sono solo lento nel raccoglierlo?

16

Sto facendo pochi progressi su un grande progetto. La fonte è enorme, molti strati di oggetti, codice maccheronico, grafici a doppio diamante di eredità multipla, elementi semicotti congelati quando lo scrittore originale se ne è andato, e nessuno sa perché molti pezzi siano stati progettati come erano.

Suppongo che qualsiasi programmatore competente avrebbe qualche problema a capire tutto abbastanza bene da correggere bug, finire le cose a metà e aggiungere nuove funzionalità. Tuttavia, sospetto che sto andando più lentamente di un tipico programmatore.

Come giudico se la fonte è insolitamente cattiva e sto facendo esattamente come chiunque potrebbe, contro la fonte è tipico per un progetto come questo e io sono solo un po 'lento o poco qualificato?

    
posta DarenW 09.12.2010 - 03:14
fonte

6 risposte

6

L'unico modo per decidere questa domanda è acquisire molti più programmatori per affrontare lo stesso problema e vedere se stanno meglio.

Questo è, naturalmente, raramente pratico, il compito è caduto su di te e ti sta dando il meglio che puoi, ricercando dove la tua conoscenza non ti aiuta. Spezzandolo a parte dove la complessità ti affligge e tieni informato a chiunque interessa dei tuoi progressi. Quindi non mi preoccuperei e continuerò a farlo.

    
risposta data 09.12.2010 - 03:42
fonte
16

Per prima cosa, non spenderei troppo tempo a preoccuparmi che tu possa essere "austero o sottosquadro". Alcuni progetti sono difficili da comprendere e spesso i progetti di grandi dimensioni richiedono un po 'di tempo per essere aggiornati. Pensare di essere "stupido" o non all'altezza del compito non ti aiuterà in alcun modo.

Sembra che tu abbia bisogno di aiuto con il codice, quindi considera le tue risorse. Hai accesso ai programmatori originali? Se sono disponibili, potrebbero essere buone risorse per l'informazione. Quale documentazione è disponibile? Se la documentazione è scarsa, estrai un blocco note e inizia a creare la tua documentazione personale.

La grande idea qui è che dovresti aspettarti che questo processo richieda tempo, e meno tempo passi mentalmente a picchiarti, più energia dovrai analizzare il codice e capirlo. Buona fortuna!

    
risposta data 09.12.2010 - 03:25
fonte
6

Hai mai visto la curva di apprendimento.

La teoria dice che inizialmente ci vuole del tempo per intensificare. Il trucco è quello di superare velocemente il punto di passaggio. Se ti blocchi regolarmente, chiedi l'aiuto del tuo manager o almeno tienilo informato sui problemi che hai affrontato. Finché sei ok per la pianificazione nessun problema.

    
risposta data 09.12.2010 - 12:06
fonte
2

Sezionalo, una volta alla volta

La tua situazione è molto comune, "fare i conti" richiede tempo come altri hanno già menzionato.

Quello che trovo è che se lo afferri "un pezzo alla volta" , indipendentemente da quanto complesso sia un progetto, lo scoprirai. Devi solo essere logico al riguardo.

Inizia con un pulsante, scavare il codice sorgente , inserire i punti di interruzione, vedere passo passo cosa sta succedendo. Ci sono due cose che devi soddisfare:

  • La panoramica di alto livello.
  • I dettagli nitidi e grintosi che implementano le funzionalità sopra desiderate.
  • una volta che ne hai compreso alcune parti, ridimensionalo.
risposta data 09.12.2010 - 12:53
fonte
1

Che ne dici di prendere una visione diversa: che cosa hai bisogno di sapere su questo codice e hai un modo per misurarlo? Ad esempio, se si sta tentando di correggere un bug, potrebbe essere necessario un tipo di immersione diverso rispetto a quando si tentasse di migrare il codice da una lingua a un'altra, ad es. passando da VBScript a C #. Se stai cercando di ottenere tutti i requisiti dal codice corrente, potrebbe essere necessario un po 'di tempo, anche se sospetto che la maggior parte delle persone avrebbe questo tipo di problema.

    
risposta data 09.12.2010 - 18:43
fonte
1

While learning something new, many students will think, “Damn, this is hard for me. I wonder if I am stupid.”
Before going any farther, assure yourself that you are not stupid and that some things are hard. …

Mr Aaron Hillegass con le parole intelligenti.

Non sei stupido, non sei lento e non sei malato. Sono sulla stessa barca, sono entrato in un nuovo ruolo e la base di codice esistente è incredibilmente grande e mostra segni di essere ripetutamente sovrasviluppata, mi ci sono volute settimane per arrivare a un punto in cui mi sento come se stessi arrivando vicino alla massima velocità. Immagina che il progetto sia come imparare una lingua completamente nuova, non accade da un giorno all'altro, ma ci vuole pazienza.

    
risposta data 23.08.2011 - 14:29
fonte

Leggi altre domande sui tag