1. อย่าใช้ตัวย่อกับตัวอักษรทุกอย่างที่เขียน ให้เขียนแบบเต็ม เช่น
ถ้าจะเขียน class เกี่ยวกับการสั่งซื้อ ก็อย่าย่อ ใช้แบบเต็มสื่อความหมายไปเลยครับ เช่น
1 2 3 4 5 6 7 8 9 |
//ไม่ควรเขียนย่อเอง class Odr { } //ควรเขียนเป็น class Order { } |
2. ตัวแปร ตั้งให้สื่อความหมาย
3. ตั้งชื่อ method ให้สื่อความหมายเต็มๆเลยว่ามันเอาไว้ทำอะไรกันแน่
แบบนี้ไม่ควรตั้ง
1 2 3 |
public function fetch($BillId) { } |
ตั้งแบบนี้ดีกว่า รู้เลยว่า พารามิเตอร์คืออะไร (เคลียร์)
1 2 3 |
public function fetchByBillId($id) { } |
[เพิ่มเติมโดย @Tan Tanangular]
ถ้าเขียนโปรแกรมในแนว OOP method คือ behavior ของ object เพื่อเป็นการบอกว่า object นี้ทำอะไรได้บ้าง ลักษณะการตั้งชื่อ ควรตั้งเป็นคำกิริยา หรือ verb ในภาษาอังกฤษครับ
เพื่อให้อ่านได้ง่าย ว่ามันทำอะไร ถ้าหากเป็น method ที่คาดหวังให้ผลลัพธ์ออกมาในเชิงตรรกะแบบ boolean true หรือ false guideline อย่างนึงคือ ตั้งชื่อด้วย is นำหน้า เช่น
ขอยกตัวอย่าง จาก code php นะครับ
1 2 3 4 5 6 7 8 9 10 11 |
class Car { var $body_color; // Items in our shopping cart function getBodyColor() { .... return $this->body_color; } function isBroken () { ... return false; } } |
เวลาเรียกใช้
1 2 3 |
$car = new Car; $car->isBroken(); // เช็คว่า ตอนนี้รถกำลังเสียหรือป่าวน้าาาาา $car->getBodyColor() // ขอสีตัวถังรถหน่อย |
4. อย่าพยายามใช้ Else มากเกินไปในการเขียนโค้ด เช่น method แบบ return หากเช็ค if ให้จบในตัวเองได้ก็ให้เช็คเลย เช่น ถ้าคิดว่ามี errors อะไรก็ให้เช็ค if แล้ว return errors ออกไปเลย ไม่ต้อง if else
ตัวอย่างที่ไม่ดี
1 2 3 4 5 6 7 8 9 10 |
public function store() { if ($user->status == 'member') { throw new Exception('คุณไม่มีสิทธิ์ใช้งาน'); } elseif ($validation->passes()) { return back(); } else { User->save(); return 'ok'; } } |
———————–
ตัวอย่างที่ดี
1 2 3 4 5 6 7 8 9 10 |
public function store() { if ($user->status == 'member') { throw new Exception('คุณไม่มีสิทธิ์ใช้งาน'); } if ($validation->passes()) { return back(); } User->save(); return 'ok'; } |