Avendo lavorato con un certo C # veramente orrendo al mio primo lavoro, mi sono imbattuto in questo problema. Mentre me ne andavo, nel tempo che trascorrevo con lui ho preso la mentalità di trattare il codice come paziente.
Tutto il codice, non importa quanto orribile, WTF-driven, mal concepito, implementato in modo inadeguato o semplicemente cattivo era destinato dai suoi sviluppatori a risolvere un problema, con gli strumenti avevano a loro disposizione. Questo rende il codice buono? No. Questo lo rende meno doloroso? Assolutamente no. Ovviamente, la tua domanda non riguarda il dolore dello sviluppatore; Riguarda se puoi guardare questo codice giorno dopo giorno per tutto il tempo in cui lavori presso il tuo attuale negozio.
A tal fine, quando lavoro con il codice, lo vedo come un medico potrebbe: un'entità che sta esibendo i sintomi di un particolare tratto.
Chiamiamo i sintomi del comportamento corretto dei comportamenti previsti per la maggior parte del tempo ... tranne quando il ragionamento alla base del comportamento "destinato" è negativo. Quando si verifica questa circostanza, potrebbe essere utile riunire qualcosa che puoi presentare al tuo management per spiegare il comportamento che stai vedendo, e un processo ottimale che migliorerebbe il funzionamento dell'app, e infine il changeset minimo a modificare quei sintomi . Se tutto va bene, approveranno e ti permetteranno di fare ciò che uno sviluppatore fa meglio: lascia il codice in condizioni migliori di quanto lo trovi. Altrimenti? Potrebbe non essere così male, potrebbero avere solo un motivo commerciale (troppo poco tempo, troppi pochi soldi).
Quando incontro i sintomi di un comportamento involontario, preferisco seguire qualsiasi flusso di lavoro di segnalazione degli errori nel mio negozio; è il modo più rapido ed efficiente per informare i tuoi dirigenti dei problemi che affliggono la tua app. Nel mio primo lavoro, ci sono stati alcuni problemi che non abbiamo avuto modo di affrontare per circa due mesi a causa della natura del settore in cui operiamo, ma non segnalarlo (o peggio, apportare modifiche canaglia) avrebbe avuto un lato molto peggiore -effetti, che porta ad un rispetto ancora inferiore per la tua base di codice.
Ancora meglio, prova a trovare modi costruttivi per convincere i tuoi manager ad accelerare il processo a cui i bug rispondono (questo era un problema in quel mio primo negozio), perché più a lungo sai che un bug è in circolazione meno il tuo rispetto per il codice sarà alla fine della giornata. Il morale conta!
Quando vedo codice malformato che non corrisponde agli standard per il linguaggio, non incolpo il codice per essere stato malformato, ma considero lo sviluppatore che lo ha scritto; forse non hanno familiarità con la lingua? (Ho incontrato questo caso con un collega che non aveva esperienza di programmazione, ma una ricca storia come tester manuale: questa persona ha scritto un codice copia / incolla veramente orribile che mi ci è voluto settimane per stabilizzare.)
Quando incontri questo caso, hai due opzioni. Se lo sviluppatore è lì e in un facile accesso, renditi disponibile come risorsa didattica; puoi influenzare questa persona per scrivere codice per gli standard della tua lingua e del tuo negozio. Aiutali ad essere uno sviluppatore migliore, è probabile che stiano vivendo un momento difficile, ma stanno facendo una faccia dura e stanno facendo una smorfia proprio come te. Meglio ancora, puoi dormire sonni tranquilli sapendo che i volumi di codice scadente saranno decrescenti nel tempo, il che è sempre il benvenuto.
Se la persona non è in facile accesso, o se ne è già andata, quando una scusa per rivedere il codice appare in modo positivo, a basso rischio, prendila. Stai facendo la tua organizzare un favore essendo il cambiamento che si desidera creare.
Se in poche settimane hai provato tutto questo e non hai ancora notato alcun miglioramento per la tua considerazione della tua base di codice, e per il trattamento da parte degli altri, non c'è niente per questo: non dovresti supportare qualcosa che odi, come farai sotto-par come per far peggiorare tutti i sintomi di cui ho appena parlato. Ma, prima di iniziare a chiacchierare con quel reclutatore, rendi assolutamente sicuro che hai esaurito ogni opzione per migliorare la base di codice e per fare in modo che i tuoi colleghi facciano lo stesso. Immagino che se ti credi in questo dolore, questo non può essere piacevole per loro, neanche!