Tengo una pregunta sobre si se debe usar 'caso' o 'si' en una función que se llama bastante. Aquí está el siguiente como está ahora, en 'ifs'; el código es autoexplicativo:Optimización de código; switch versus if's
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;
}
Mi pregunta es: ¿Un cambio funcionaría mejor? Sé que si utilizo 'ifs', puedo colocar las opciones más probables en la parte superior.
ver esto: http://stackoverflow.com/questions/97987/switch-vs-if-else – Nawaz
Usted debe concentrarse en hacer que su código correcto antes de preocuparse por micro-optimización. Y una vez que es correcto, debes medir antes de optimizar. Y luego, cuando piense que debe optimizar, debe pensar detenidamente sobre la futura capacidad de mantenimiento del código optimizado. En resumen, no tiene sentido tener un código optimizado que sea incorrecto. –