Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

banyak fungsi adalah satu fungsi besar di PHP?

Suatu fungsi harus memiliki tanggung jawab yang jelas dan sempit dengan tipe pengembalian minimalis yang jelas. Jika Anda mulai membuat "fungsi tuhan" yang melakukan segalanya dan wastafel dapur tergantung pada argumen apa yang Anda berikan, Anda akan memasuki wilayah kode spageti yang sulit dipertahankan. Anda tidak menginginkan fungsi yang melakukan A dan mengembalikan B jika Anda meneruskannya X, tetapi melakukan C dan mengembalikan D jika Anda meneruskannya Y dll...

Merupakan ide bagus untuk memulai beton dan menggeneralisasi dari waktu ke waktu saat Anda melihat pola serupa muncul. Jadi, buat metode yang benar-benar Anda butuhkan:

public function findUserById($id)
public function findUserByEmail($email)
public function updateCompanyName($id, $newName)

Jika Anda menemukan bahwa Anda telah berbagi kode di antara fungsi-fungsi ini, satukan kode di belakang layar agar tetap KERING:

public function findUserById($id) {
    return $this->find('SELECT * FROM user WHERE id = ?', $id);
}

public function findUserByEmail($email) {
    return $this->find('SELECT * FROM user WHERE email = ?', $email);
}

protected function find($query, $arg) {
    ...
}

Jangan mulai sebaliknya, berpikir Anda "hanya perlu X, Y dan Z" yang tampaknya cukup mirip untuk disatukan menjadi satu metode, kemudian mengetahui ada perbedaan kecil antara X, Y dan Z dan mengotori kode Anda dengan kasus khusus untuk masing-masing. Itu hanya mengarah ke fungsi yang sangat besar atau sangat umum sehingga pada dasarnya mereka tidak melakukan apa-apa sendiri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ambil pertumbuhan rekor berjalan-total dari waktu ke waktu di mysql

  2. Cara Memperbarui Banyak Kolom di MySQL

  3. Menghitung dan mengelompokkan kolom bernama sama dalam tabel berbeda (di mana klausa hanya dari satu tabel)

  4. Codeigniter bergabung dengan permintaan beberapa kondisi tidak berfungsi

  5. dapatkan nilai desimal mentah dari kueri mysqldb