2012-08-09 9 views
5

Esiste una convenzione di denominazione comune per le funzioni virtuali private in C++? Ho visto convenzioni come do_something(...), something_vfunc(...), ecc. Quale convenzione viene solitamente utilizzata nei progetti C++?Esiste una convenzione di denominazione comune per le funzioni virtuali private in C++?

+0

'mvp_doSomething()'. membro, virtuale, privato :) –

+0

No, c'è tutta una pletora di convenzioni. – juanchopanza

+3

@LuchianGrigore mvp_hwnd_getHandle() ... La rabbia, la rabbia incontrollabile ... jons34yp - attenersi alle stesse convenzioni delle variabili? – MrFox

risposta

2

La convenzione utilizzata nello standard (ad esempio tra i tanti std::numpunct) è che do_something è un metodo protectedvirtual, e something è un metodo public non virtual che chiama.

1

utilizzare il prefisso dyn_. quindi potresti vedere:

class t_type { 
public: 
    /* ... */ 
    void method() { 
     this->dyn_method(); 
    } 

private: 
    virtual void dyn_method() const = 0; 
}; 

class t_subtype : public t_type { 
public: 
    /* ... */ 
private: 
    virtual void dyn_method() const { 
     ... 
    } 
}; 

per quanto riguarda un comune - non sono sicuro.

1

Ci sono molte convenzioni sono sicuro. Tendo ad utilizzare un trailing Impl o _impl a seconda della convenzione del resto del nome del metodo. Quindi ComputeFoo chiama ComputeFooImpl secondo necessità.

1

Diverse squadre e persone utilizzano standard diversi. Il mio personale non deve aggiungere alcun prefisso o suffisso speciale. Il nome dovrebbe rappresentare ciò che fa questa funzione. IDE ti aiuterà a vedere se è privato o protetto, virtuale o meno. E sì, è un buon gusto rendere privata o protetta la funzione virtuale, ma se si aggiunge una nuova funzione solo per seguire questo principio - pensaci due volte.

+0

Sono d'accordo. I moderni IDE sono bravi a fornire suggerimenti sul codice. L'aggiunta di suffissi e prefissi ai nomi di variabili è vecchia scuola. Li rende (IMHO) più brutti e più difficili da interpretare. – Nav

Problemi correlati