Mi sono trovato in una situazione difficile come negli ultimi tempi. Ho lavorato a un gioco con un compagno di programmazione per quasi 8 mesi. Entrambi siamo partiti come nuovi arrivati alla programmazione intorno ad agosto dello scorso anno, lui è uno studente del secondo anno di CS, sono un tecnico di supporto IT per mestiere e sono un programmatore autodidatta con una moltitudine di libri e abbonamenti online.
Il problema che ho visto costantemente è che mentre scriviamo un pezzo di codice, spesso sarà un po 'hackerato insieme, molti fallimenti e se è un concetto nuovo di zecca per uno di noi, pieno di soluzioni ingenue. Questo va bene, stiamo imparando, mi aspetto che entrambi i nostri codici siano un po 'hackerati sul primo o secondo passaggio. Il problema si presenta quando si tratta di correggere e refactoring effettivamente quei comportamenti hackerati insieme.
Il mio partner si aggrapperà al suo comportamento appena acciottolato, rifiutando esplicitamente di vedere qualsiasi errore nel momento in cui inizia a funzionare. Rivendicazione quasi alla perfezione da un pezzo di struttura non posso nemmeno provare a usare anche se avesse commenti e metodi con nomi appropriatamente & campi. Non importa quanto ci provi, non riesco a fargli vedere i difetti evidenti che impediranno ulteriori cambiamenti o l'espansione del comportamento senza spezzarlo completamente e tutto ciò che è così strettamente associato potrebbe essere nella stessa classe. Le soluzioni compromesse rimangono per sempre troncate, mentre i progetti mal concepiti rimangono come prima quando sono stati concepiti e testati.
Passo tanto tempo a fare da babysitter al nuovo codice mentre scrivo da solo, sono una perdita di cosa fare. Il mio compagno l'ha persa stanotte, e ha chiarito che non importa cosa, non importa il benchmark, non importa la pratica comune, non importa la prova inconfutabile, il suo codice rimarrà come prima. Anche se sono stati scritti interi libri sul perché vuoi evitare di fare qualcosa, rifiuterà di riconoscere la loro validità affermando che è solo un'opinione di qualcuno.
Ho un interesse particolare nel nostro progetto, tuttavia non sono sicuro di poter continuare a lavorare con il mio partner. Mi sembra di avere tre opzioni aperte per me.
- Smettere di preoccuparsi del funzionamento del codebase oltre il punto di compilazione e limitarsi a cercare di mantenere e analizzare il comportamento che a malapena si limita. Sperando che una volta che le cose inizino a rompersi seriamente, lo vedrà e cercherà di fare qualcosa di più che mettere semplicemente un cerotto sul design fondamentalmente difettoso.
- Continua con gli infiniti argomenti su problemi che sono stati individuati dieci anni fa da altre persone molto più capaci.
- Interrompi la programmazione di questo progetto, abbandonando quasi 10.000 righe del mio codice e innumerevoli ore dedicate al design e prova a trovare un nuovo progetto da solo.
Quale approccio posso adottare per determinare se vale la pena continuare con questo progetto con questa persona? O quali fattori dovrebbero influenzare la mia decisione? Abbiamo scritto molto codice e non voglio rinunciarvi se non necessario.