Исходный код
private void set_mode(bool mod)
{
    if(mod==true)
    {
        label1.Enabled=true;
        button1.Enabled=true;
        button2.Enabled=true;
        button3.Enabled=false;
        button4.Enabled=false;
    }
    else
    {
        label1.Enabled=false;
        button1.Enabled=false;
        button2.Enabled=false;
        button3.Enabled=true;
        button4.Enabled=true;
    }
}Что не так в исходном коде
Недавно я уже рефакторил код похожей структуры, поэтому не буду повторять решение один в один.
Вместо этого хочу обратить внимание на другой недостаток исходного кода: глядя на него совершенно невозможно понять, о чём идёт речь — в чём смысл одного и второго режима, и что это за кнопки такие, на которые он влияет. Другими словами, здесь хромают нейминг и семантика.
В целом же рефакторинг я хочу провести исходя из следующих соображений:
- там, где есть два режима, легко могут возникнуть и третий, и четвёртый,
- отображение элементов интерфейса не обязательно должно быть полностью взаимоисключающим, поэтому стремление что-то склеивать может быть не оптимальным решением,
- элементы интерфейса также могут добавляться, или их логика отображения может меняться.
Вариант рефакторинга исходного кода
enum CodeReviewMode {
    Expert,
    Novice
}private void setCodeReviewMode(CodeReviewMode mode) {
    switch (mode) {
        case CodeReviewMode.Expert:
            approveLabel.Enabled = true;
            approveButton.Enabled = true;
            mergeButton.Enbled = true;
            commentButton.Enabled = false;
            viewedButton.Enabled = false;
            break;
        case CodeReviewMode.Novice:
            approveLabel.Enabled = false;
            approveButton.Enabled = false;
            mergeButton.Enbled = false;
            commentButton.Enabled = true;
            viewedButton.Enabled = true;
            break;
    }
}