Избыточные конструкции при получении кода статуса


Исходный код

function ShowUserRowStatus($key, $value){
  // Check value
  settype($value, 'integer');
  switch($value){
    case'1':{
      $content='~s_enable~';
      break;
      }
    default:{
      $content='~s_disable~';
      }
  }
  //exit
  return $content;
}

Что не так в этом коде

  1. Функция называется ShowUserRowStatus, хотя она ничего не показывает, а лишь возвращает специфическую строку.
  2. В алгоритме всего две альтернативы, однако применён оператор switch, что явно излишне.
  3. Присутствует переменная $content, без которой совершенно спокойно можно обойтись.
  4. Параметр $key не используется.
  5. Название параметра $value слишком общее, не отражает его смысла.

Как отрефакторить исходный код

function GetUserRowStatus($status) {
  settype($status, 'integer');
  return $status == '1' ? '~s_enable~' : '~s_disable~';
}

Вполне вероятно, что без приведения статуса к целому числу тоже можно обойтись.