Secondo Dovremmo evitare caratteristiche linguistiche che il C ++ ha ma Java no? , so che è orribile scrivere C ++ come se fosse Java, soprattutto perché elimina le funzionalità utili dei linguaggi C ++.
Rispondendo al punto 2 di questa domanda:
C++ code with C++ specific features (e.g.: friend functions, multiple inheritance) can only be maintained or reviewed by C++ programmers, but if we just write C++ like Java (without C++ language specific feature), the code can be maintained or reviewed by both C++ and Java programmers.
Ho trovato che le seguenti domande supportano la dichiarazione precedente:
È efficace rivedere il codice nella lingua che non conosco?
Penso che supportino questo punto:
1. Consente a più persone (programmatori Java) di rivedere il mio codice C ++
2. Consente ai programmatori Java di imparare C ++ più facilmente durante la revisione del mio codice c ++
Intendo dire che non sono nei casi estremi che abbandonano tutte le funzionalità del C ++, ma preferirei non usare le funzionalità C ++ se i sostituti non sono complessi, per esempio, non scriverei tutte le classi C ++ in .h come un singolo. file java:
class A{
private:
int b;
void methodC(){
//some other code
}
}
perché separare .h e .cpp è facile per i neofiti di C ++. Ma vorrei evitare le funzionalità C ++ se la funzione C ++ può essere facilmente sostituita da uno pseudo-codice sia per C ++ che per Java, ad esempio: ereditarietà multipla, che può essere sostituita per composizione + interfaccia multipla.
Quindi la mia domanda è, è "lasciare che più persone (ad esempio: i programmatori Java) possano rivedere il mio codice" una ragione per "scrivere C ++ come Java" in una certa misura ?