Ho una domanda sull'opportunità di utilizzare "case" o "if" in una funzione che viene chiamata abbastanza. Ecco quanto segue ora, in "if"; il codice è autoesplicativo:Ottimizzazione del codice; switch versus if
int identifyMsg(char* textbuff) {
if (!strcmp(textbuff,"text")) {
return 1;
}
if (!strcmp(textbuff,"name")) {
return 2;
}
if (!strcmp(textbuff,"list")) {
return 3;
}
if (!strcmp(textbuff,"remv")) {
return 4;
}
if (!strcmp(textbuff,"ipad")) {
return 5;
}
if (!strcmp(textbuff,"iprm")) {
return 6;
}
return 0;
}
La mia domanda è: un interruttore funzionerà meglio? So che se uso 'ifs', posso posizionare le opzioni più probabili nella parte superiore.
vedere questo: http://stackoverflow.com/questions/97987/switch-vs-if-else – Nawaz
Dovresti concentrarsi sul rendere il codice corretto prima di preoccuparsi di micro-ottimizzazione. E una volta che è corretto, è necessario misurare prima di ottimizzare. E poi quando pensi di aver bisogno di ottimizzare dovresti pensare a lungo e duramente sulla manutenibilità futura del codice ottimizzato. In breve, non ha senso avere codice ottimizzato che non è corretto. –