Al revisar el código, normalmente trato de hacer recomendaciones específicas sobre cómo resolver los problemas. Pero debido al tiempo limitado que uno puede pasar para revisar, esto no siempre funciona bien. En estos casos, me parece más eficiente si el desarrollador encuentra una solución por sí mismo.
Hoy revisé algunos códigos y descubrí que una clase obviamente no estaba bien diseñada. Tenía una serie de atributos opcionales que solo se asignaban para ciertos objetos y se dejaban en blanco para otros. La forma estándar de resolver esto sería dividir la clase y usar la herencia. Sin embargo, en este caso específico, esta solución parecía complicar las cosas. Yo no participé en el desarrollo de este software y no estoy familiarizado con todos los módulos. Por lo tanto, no me sentía lo suficientemente bien informado como para tomar una decisión específica.
Otro caso típico que experimenté muchas veces es que encuentro una función, un nombre de clase o variable obviamente sin sentido o incluso engañoso, pero no puedo encontrar un buen nombre.
Por lo general, como revisor, ¿está bien decir "este código es defectuoso porque ..., hágalo de manera diferente" o tiene que encontrar una solución específica?