FizzBuzzの解法はどちらがより正しいか

FizzBuzz wikipedia:Fizz_Buzz の解法って、手続き型言語においては二種類解法があると思うんですよね。

ざっくりJavaScriptで書くとこんな感じ。

一つ目が、

/**
 * どんどん文字を足して行くタイプ
 */
function fizzbuzz(count){
  var value = "";

  if(count % 3 == 0){
    value += "Fizz";
  }

  if(count % 5 == 0){
    value += "Buzz";
  }

  if(value.length ==0){
    value = String(count);
  }

  return value;
}

二つ目が、

/**
 * どんどんreturnしていくタイプ
 */
function fizzbuzz(count){

  if(count % 15 == 0){
    return "FizzBuzz";
  }

  if(count % 3 == 0){
    return "Fizz";
  }

  if(count % 5 == 0){
    return "Buzz";
  }

  return String(count);
}

個人的には、例外的な処理、早めに終わる処理を前の方で弾いてネストを浅くするという点で
後者の方がFizzBuzzの解法としては妥当かなと思ってます。

DBアクセスのような複雑な処理が介在する場合だと、最初に処理してreturnとは行かない事も多いですしね。