Inviare messaggi in un progetto multipiattaforma

0

Ho un progetto che supporta più architetture di cpu e più toolchain di compilatori. Alcune parti del codice sono le stesse per tutte le architetture / compilatori, ma l'altra parte è specifica per architettura e / o compilatore. Penso che questa sia una situazione abbastanza comune. Quindi mi chiedo, cosa scrivono le persone nei loro messaggi di commit quando devono commettere più volte la stessa funzionalità (bugfix, miglioramento, ecc.), Uno per ogni architettura di destinazione? Ci sono tonnellate di articoli su Internet su come scrivere un buon messaggio di commit, ma nessuno di loro menziona nulla su tali sottigliezze.

    
posta 18.09.2016 - 16:21
fonte

2 risposte

0

Se si modifica qualcosa nel codice, si documenta la modifica nel registro di commit. Se devi applicare lo stesso tipo di modifica in due punti (ad esempio, poiché il codice A è scritto in linguaggio assembly X, il codice simile B è scritto in linguaggio assembly Y), ed è davvero "la stessa cosa" che cambi , dovrai anche scrivere lo stesso tipo di contenuto nella voce di registro. In realtà non c'è modo di aggirare questo. Forse decidi di apportare le modifiche a B in un ordine diverso o granularità rispetto alle modifiche ad A. Forse le modifiche non sono realmente le stesse, dal momento che nel codice A le cose sono diversamente risolte rispetto al codice B. Il VCS non può conoscere queste differenze , solo colui che ha apportato il cambiamento può, e quindi può scrivere una voce significativa.

Tuttavia, se il codice per entrambe le piattaforme è scritto nella stessa lingua, e spesso ti imbatti nella situazione di "dover correggere lo stesso bug in due punti", dovresti chiederti se non c'è un modo per rifattori le parti di codice (ovviamente simili) da quelle due aree in una funzione comune che fa parte dell'area indipendente dalla piattaforma della base di codice. Ciò renderà il tuo codice più DRY, che dovrebbe essere più facile da mantenere (e come effetto collaterale, non ti imbatterai più nel problema con il log di commit per quella particolare funzione).

    
risposta data 18.09.2016 - 22:22
fonte
-4

Non ho visto nulla di simile. IMHO, dovresti creare succursali per diversi aspetti del tuo prodotto e mantenerli sincronizzati, mentre commetti le modifiche comuni ad altri rami fusibili.

    
risposta data 18.09.2016 - 20:55
fonte

Leggi altre domande sui tag