Ho fatto un mucchio di lavoro sbagliato, dovrei tenerlo? [chiuso]

2

Ho biforcato un repository e ramificato quel clone per codificare una storia, e poiché non ho capito il problema, ho scritto un codice che non risolve il mio compito, ma potrebbe rivelarsi utile in seguito.

Dovrei:

  1. Eliminalo e non preoccuparti. Quindi esegui il commit senza il codice aggiuntivo.
  2. Crea un altro ramo solo per quel lavoro, commettilo, ma non pubblicare una richiesta di pull su di esso.
  3. Basta impegnarlo con il codice esistente e preoccuparsi del "fluff" extra in seguito.

Stavo pensando # 2. Se capisco correttamente, potrei semplicemente tenere il codice extra su un ramo che non uso mai sul mio clone e scavarlo più tardi se si presenta qualcosa che potrebbe trarre vantaggio dall'usarlo.

    
posta Droogans 28.11.2012 - 23:34
fonte

3 risposte

9

Dovresti aver incluso l'opzione numero 4 ....

4.  Commit it with the extra code, and then delete it and commit it again.

Se non lo commetti, è perso. Se lo commetti e lo lasci entrare, allora hai una fonte extra di confusione - dovresti cercare di evitare che altre persone grattino la testa e si chieda se il WTF stia succedendo qui ...

Confidalo, cancellalo, esegui di nuovo il commit - aggiungi un paio di buoni commenti di commit e sei d'oro.

    
risposta data 29.11.2012 - 00:00
fonte
5

L'opzione n. 2 è legittima se il codice potrebbe davvero essere utile in seguito. # 3 non è la risposta giusta

L'opzione n. 1 è probabilmente la risposta giusta. Più spesso, il codice dovrebbe essere semplicemente scartato. Come programmatori, non ci piace cancellare il codice - se sembra di buttare via i nostri bambini. Una delle più grandi regole di programmazione è "non aver paura di cancellare il codice" (penso che Jeff Atwood avesse un post in questo senso, ma non ho il link a portata di mano). Il codice inutilizzato che viene espulso raramente si inserisce in un progetto di lavoro. È una sorta di modellatori lì finché qualcuno non lo cancella definitivamente (anche in un altro ramo) perché è stato abbandonato per sempre e nessuno sa perché è lì.

    
risposta data 28.11.2012 - 23:39
fonte
0

Devi valutare se è probabilmente che il codice sarà in futuro:

  • Se è (realisticamente) improbabile, allora basta liberarsene; Ad esempio # 1
  • Se è probabile # 3 seguito da alcuni refactoring per assicurarti che il codice "fluff" non abbia impatto sulle tue build effettive, copertura del test, ecc.

Il motivo per cui preferisco # 3 su # 2 (o # 4) è che il codice sui vecchi rami di sviluppo o nella cronologia delle revisioni è difficile da trovare ... a meno che non si sappia cercarlo. Quando guardo una base di codice per vedere se c'è un po 'di funzionalità da riutilizzare, guardo HEAD: master. Non faccio ricerche nei vecchi rami o nei registri di commit.

Ora, nel tuo caso, c'è una ragionevole possibilità che ti ricorderai di aver implementato la funzionalità e di averla rimossa da "master". Ma è improbabile che i tuoi colleghi lo sappiano, e anche se lo dici a loro, probabilmente lo dimenticheranno. Tuttavia, se il codice è ancora in HEAD: master, allora ci sono molte più possibilità che troveranno usando la ricerca IDE.

    
risposta data 29.11.2012 - 00:18
fonte

Leggi altre domande sui tag