Rifiutarsi di definire 2 o più classi in un file .cpp [chiuso]

1

Nella mia azienda esiste una regola implicita per non definire più classi all'interno di un file .cpp. L'argomentazione è che sembra un disastro e difficile da leggere. Ma secondo me avrà senso se le classi sono correlate e non destinate ad essere utilizzate al di fuori dell'unità di compilazione. Esempio:

example.h:

class ExampleState;

class Example {
    ...

    void SomeMethod();
private:
    ExampleState* state_;
}

example.cpp:

class ExampleState {
    ...
}

Example::SomeMethod() {
    state_ = new ExampleState();
    ...
}

Qual è il tuo suggerimento?

    
posta Megamozg 01.12.2015 - 07:52
fonte

1 risposta

7

Entrambe le convenzioni funzioneranno, e dato che stai usando un IDE moderno, nessuno ha davvero un vantaggio rispetto all'altro. Quindi tecnicamente, questo è puramente opionated. Tuttavia, se nel team ci sono molti "codificatori dei cowboy", a volte è meglio impostare regole più rigide per evitare discussioni infinite su "quando un file sorgente è troppo grande" e "queste classi sono abbastanza correlate". E in una grande squadra, una volta introdotta la libertà di mettere diverse classi in un unico file, ci sarà sempre chi inizia ad abusare di quella libertà.

Quindi se la maggior parte della squadra (e in particolare il tuo leader di squadra) non apprezza l'idea di mettere più di un file in classe, non farlo. Se, tuttavia, il team prende questo più come una linea guida approssimativa, e ci sono altri che pensano come te, e approva la combinazione di due classi in un file durante la consueta revisione tra pari (fai regolari revisioni del codice, non è vero? ?), quindi probabilmente è ok.

Vedi anche: Come faresti a sapere se hai scritto un codice leggibile e facilmente gestibile?

    
risposta data 01.12.2015 - 09:07
fonte

Leggi altre domande sui tag