Il team di ricerca e sviluppo in cui mi trovo ha deciso di adottare uno standard di codifica. Ci siamo formati solo di recente e abbiamo troppo poco tempo di programmazione e codice comune per basare i nostri documenti sulle norme / convenzioni su ciò che è stato sviluppato organicamente nel nostro team e su buoni esempi del nostro codice, ecc.
Ora, ognuno di noi ha una certa esperienza nei luoghi di lavoro passati - anche se nessuno di noi è in uno stato di affermazione "adottiamo questo documento completo qui che ho trovato adatto al tipo di lavoro che facciamo qui" (*). Inoltre, alcuni di noi (incluso me stesso) hanno esperienza solo in luoghi senza standard di codifica ufficiali o scrivono in lingue diverse in un ambiente diverso (ambiente di produzione a rilascio settimanale ad alta pressione rispetto a un lavoro di sviluppo più orientato alla ricerca)
Quindi, una delle opzioni a cui ho pensato è quella di prendere un documento relativamente noto e ben considerato, eliminare ciò che non ci interessa / prenderci cura e apportare alcune modifiche in base alle nostre preferenze.
È una pratica comune? Credi che sia una buona idea? In tal caso, quale sarebbe uno standard di codifica "baseline" ragionevole (non dirmi quale sia la cosa migliore, non voglio iniziare qui un conflitto religioso; sottolinea solo cosa sarebbe abbastanza completo o "neutrale" su cui basarci .)
Appunti:
- Ci aspettiamo di lavorare con C, C ++, OpenCL, CUDA, Python.
- Siamo un team di 4 persone + manager, che dovrebbe crescere fino a circa 5-6 entro un anno circa.
- Nella nostra azienda, i team sono quasi completamente autonomi e di solito non interagiscono affatto (nemmeno usando il codice reciproco - il lavoro è su progetti completamente diversi); quindi - nessuna considerazione a livello aziendale da fare.
- Per quanto riguarda gli strumenti, al momento quello che sappiamo è che useremo Eclipse , quindi il suo formattatore di codice sarà almeno uno strumento. Ctrl + Maiusc + F è stato a lungo mio amico
- Quando scrivo Java, ho adottato la pratica di aderire il più rigorosamente possibile all'efficace Java di Bloch . Ora, questo non è proprio uno standard di codifica, ma potresti chiamare alcuni mattoni, cemento e malta per uno standard di codifica. Stavo pensando di includere qualcosa del genere come parte del 'mix' (pensando che non facciamo Java).
- Voglio dire standard di codifica nel senso più ampio del termine, ad esempio, l'adozione di proposte avanzate nelle risposte a questa domanda P.SE .
- Ho trovato un grande elenco di documenti sugli standard di codifica C ++ ; forse dovrei minare quella nostra base.
- (*) Non è del tutto vero, ma non voglio complicare questa domanda con troppi dettagli.