Kodlama stili: fonksiyonu ve standart kodlama işlemleri

2 Cevap php

Kod 7.6 Komple 2 beni karıştırıyor Ch, ben (php) bazı örnek kod zihin hangi stili iyi olduğunu bana bağlı değil mi? ya da daha iyi bir şey önermek? teşekkürler

Stil 1

public function register($user, $pass) {
 if($this->model->isRegistered($user)
 {
  return false;
 }
 else if($this->twitter->login($user, $pass))
 {
  return $this->model->addUser($user, $pass);
 }

 return false;
}

Stil 2

public function register($user, $pass) {
 if($this->model->isRegistered($user)
 {
  return false;
 }

 $this->twitter->login($user, $pass);
 if($this->twitter->isLoggedIn())
 {
  return $this-model->addUser($user, $pass);
 }

 return false;
}

Stil 3

public function register($user, $pass) {
 if($this->model->isRegistered($user)
 {
  return false;
 }

 $status = $this->twitter->login($user, $pass);
 if($status)
 {
  return $this->model->addUser($user, $pass);
 }

 return false;
}

I'm currently making use of Stil 1. Though I'm not quite sure if its the right one.

2 Cevap

Ben de kabalık etmek istemem ama ben 3 teklif stilleri öğle vakti gibi. Ben bir fonksiyonun yürütülmesini engelleyen durumlar için kontrol ediyorum, ben her zaman bu tarz çakacağım. Genel olarak:

function action()
{
    if ($guard_condition1)
        return $failure;

    if ($guard_condition2)
        return $failure;

    do_action();
    return $success;
}

Yani aşağıdaki gibi bir kod yeniden İstediklerim:

public function register($user, $pass)
{
    if ($this->model->isRegistered($user))
        return false;

    if (!$this->twitter->login($user, $pass))
        return false;

    return $this->model->addUser($user, $pass);
}

Eğer teklif ne bir görüş gerekiyorsa Neyse, ben stil 3 oy verirdim.

Stil 1 "eğer" ve "else if" farklı koşullar kullanılır, bu yüzden mantıklı değil.

In Style 2 satır:

 $this->twitter->login($user, $pass);
 if($this->twitter->isLoggedIn())

çok zor, bazı durumlarda okumak için vardır ancak uygun bulunuyor.

Benim için iyi bir Stil 3'tür.