При рассмотрении кода я обычно стараюсь давать конкретные рекомендации по решению проблем. Но из-за ограниченного времени, которое можно потратить на рецензирование, это не всегда работает хорошо. В этих случаях я считаю более эффективным, если разработчик сам придумает решение.
Сегодня я просмотрел некоторый код и обнаружил, что класс явно не был хорошо спроектирован. Он имел ряд необязательных атрибутов, которые были назначены только для определенных объектов и оставлены пустыми для других. Стандартный способ решить эту проблему - разделить класс и использовать наследование. Однако в данном конкретном случае это решение казалось слишком сложным. Я не участвовал в разработке этого программного обеспечения сам и не знаком со всеми модулями. Поэтому я не чувствовал себя достаточно компетентным, чтобы принять конкретное решение.
Другой типичный случай, с которым я сталкивался много раз, это то, что я нахожу явно бессмысленную или даже вводящую в заблуждение функцию, имя класса или переменной, но не могу придумать хорошее имя сам.
В общем, как рецензент, хорошо ли говорить «этот код ошибочен, потому что ..., по-другому» или вам нужно придумать конкретное решение?