JavaScript Clean Code - ชื่อและการทดสอบ Heuristics

ภาพถ่ายโดย Shahzin Shajid บน Unsplash

รหัสที่ไม่ถูกต้องมีลักษณะเฉพาะมากมาย ในบทความนี้เราจะมาดูกันว่ามีอะไรบ้าง ดูกลิ่นรหัสทั่วไปเพิ่มเติม

ในบทความนี้เราจะมาดูวิธีตั้งชื่อสิ่งต่างๆอย่างถูกต้องและเขียนแบบทดสอบที่ครอบคลุมและรวดเร็ว

การตั้งชื่อ

ใช้ Long Names สำหรับ Long Scopes

ถ้าขอบเขตยาวชื่อควรยาวกว่าถ้าขอบเขตสั้น

ตัวแปรที่มีชื่อสั้นจะสูญเสียความหมายไปในระยะทางไกล

หลีกเลี่ยงการเข้ารหัส

ไม่ควรเข้ารหัสชื่อด้วยข้อมูลขอบเขต เราควรหลีกเลี่ยงคำนำหน้าไร้ประโยชน์

อย่างไรก็ตามประเภทในชื่อจะมีประโยชน์ใน JavaScript เนื่องจากตัวแปรและค่าคงที่มีประเภทไดนามิก

ชื่อควรอธิบายถึงผลข้างเคียง

หากโค้ดชิ้นหนึ่งก่อให้เกิดผลข้างเคียงชื่อควรแสดงถึงมัน ตัวอย่างเช่นหากเรามีฟังก์ชันต่อไปนี้:

let foo;
const getFoo = () => {
  if (!foo) {
    foo = {}
  }
  return foo
}

แต่เราควรตั้งชื่อsetFooIfNotExistAndGetFooให้คำนึงถึงการกระทำทั้งสองอย่าง

ภาพโดย FOTOGRAFIA .GES บน Unsplash

การทดสอบ

การทดสอบไม่เพียงพอ

เราควรตรวจสอบให้แน่ใจว่าเรามีพื้นที่ครอบคลุมการทดสอบเพียงพอเพื่อให้เราทราบว่ารหัสและสาขาทำงานได้

นอกจากนี้การทดสอบของเราควรคำนึงถึงทั้งกรณีเชิงบวกและเชิงลบ

ขอบเขตและขอบกรณีควรมีการทดสอบเพื่อทดสอบกรณีที่อาจทำลายรหัสของเรา

ใช้เครื่องมือครอบคลุม

เครื่องมือทดสอบความครอบคลุมจะบอกเราว่าเรามีการทดสอบอะไรบ้างและสิ่งที่ยังต้องการความครอบคลุมของการทดสอบ

นอกจากนี้ยังแจ้งให้เราทราบด้วยว่าสาขาใดของรหัสของเรามีความครอบคลุมการทดสอบ

อย่าข้ามการทดสอบเล็กน้อย

เขียนง่ายและเป็นเอกสารที่ดี

การทดสอบที่ไม่สนใจคือคำถามเกี่ยวกับความคลุมเครือ

การทดสอบที่ถูกเพิกเฉยเป็นเรื่องที่น่าสงสัยเสมอ เราไม่รู้ว่าเหตุใดจึงข้ามการทดสอบดังนั้นเราจึงต้องระบุเหตุผลให้ชัดเจนว่าเหตุใดเราจึงข้ามการทดสอบ

ทดสอบเงื่อนไขขอบเขต

การทดสอบเงื่อนไขขอบเขตมีความสำคัญเนื่องจากโค้ดมักจะแตกตามเงื่อนไขขอบเขต

ทดสอบอย่างละเอียดถี่ถ้วนใกล้จุดบกพร่อง

หากโค้ดส่วนหนึ่งมีจุดบกพร่องเราควรทดสอบกรณีเหล่านั้นเพิ่มเติม

รูปแบบของความล้มเหลวกำลังเผยให้เห็น

รูปแบบที่กรณีทดสอบล้มเหลวสามารถบอกเราได้มากมายเกี่ยวกับสิ่งที่ทำลายรหัสของเรา

กรณีที่ไม่สามารถบอกได้มักจะมีรูปแบบบางอย่างเช่นเมื่อล้มเหลวด้วยอักขระ 5 ตัวขึ้นไปหรืออะไรทำนองนั้น

การทดสอบควรรวดเร็ว

การทดสอบอย่างช้าๆเป็นการทรมานที่ต้องวิ่ง พวกเขาถูกเพิกเฉยและจะไม่ถูกเรียกใช้ เราควรทำให้เร็วที่สุดโดยเฉพาะอย่างยิ่งเมื่อมีจำนวนมาก

สรุป

เราควรตั้งชื่อสิ่งต่างๆอย่างไม่คลุมเครือ หากมีผลข้างเคียงเราควรอธิบาย

นอกจากนี้การทดสอบควรครอบคลุมข้อบกพร่องและกรณีขอบเขตและควรดำเนินการอย่างรวดเร็ว

เราสามารถใช้เครื่องมือความครอบคลุมเพื่อให้เข้าใจชัดเจนว่าการทดสอบครอบคลุมโค้ดส่วนใดบ้าง

Suggested posts

การค้นหาข้อมูลเกี่ยวกับชื่อโดเมน

ตัดตอนมาจาก Small, Sharp Software Tools โดย Brian P. Hogan

การค้นหาข้อมูลเกี่ยวกับชื่อโดเมน

เมื่อคุณส่งคำขอไปที่ facebook.com คอมพิวเตอร์ของคุณจะค้นหาชื่อโดเมนเพื่อแปลชื่อโดเมนนั้นเป็นที่อยู่ IP เพื่อให้คอมพิวเตอร์ของคุณสามารถเชื่อมต่อได้

เคล็ดลับสำหรับการเปลี่ยนไปสู่ความปลอดภัยทางไซเบอร์โดยไม่มีพื้นฐานทางเทคนิค

เคล็ดลับสำหรับการเปลี่ยนไปสู่ความปลอดภัยทางไซเบอร์โดยไม่มีพื้นฐานทางเทคนิค

ในปี 2022 ฉันเปลี่ยนจากบทบาทที่ไม่ใช่ด้านเทคนิคมาเป็นความปลอดภัยทางไซเบอร์ ฉันได้รับปริญญาใบแรกในภาษาเยอรมัน ฉันรู้ว่าคุณตกใจและสงสัยว่าฉันสามารถเปลี่ยนแปลงได้สำเร็จได้อย่างไร มันเพิ่งเกิดขึ้น

Related posts

สรรพนามน่ากลัวมาก

มันทำให้ฉันประหลาดใจ ทันใดนั้นมันก็เกิดขึ้นบ่อยๆ มันอยู่กลางทางอีกครั้ง <ไม่ ไม่ใช่คนในมหาสมุทรแปซิฟิก คุณเป็นสีน้ำตาลแดง คนที่งานคาร์นิวัล> ทุกพาดหัวข่าวดัง…..

การปฏิวัติสถานที่ทำงาน: ผู้เชี่ยวชาญชั้นนำพูดคุยเกี่ยวกับการทำงานแบบผสมผสานและการทำงานระยะไกล

การปฏิวัติสถานที่ทำงาน: ผู้เชี่ยวชาญชั้นนำพูดคุยเกี่ยวกับการทำงานแบบผสมผสานและการทำงานระยะไกล

ในภูมิทัศน์ทางธุรกิจที่มีการพัฒนาอย่างรวดเร็วในปัจจุบัน แนวคิดของการทำงานแบบผสมผสานและการทำงานระยะไกลได้รับแรงผลักดันอย่างที่ไม่เคยมีมาก่อน ในขณะที่บริษัทต่าง ๆ ยังคงปรับตัวให้เข้ากับความต้องการและความคาดหวังที่เปลี่ยนแปลงไปของพนักงาน ผู้เชี่ยวชาญจากหลากหลายสาขาได้มารวมตัวกันเพื่อหารือเกี่ยวกับประโยชน์ ความท้าทาย และอนาคตของวิธีการทำงานที่เปลี่ยนแปลงนี้

การสร้างสภาพแวดล้อมการทำงานที่ปลอดภัย

การสร้างสภาพแวดล้อมการทำงานที่ปลอดภัย

“เขาจะปกป้องฉันเมื่อฉันตกอยู่ในอันตราย เขาจะซ่อนฉันไว้ในเต็นท์ของเขา

สิ่งที่คุณสามารถทำได้ในช่วงเวลาแห่งการรอคอย (รองานแรกของคุณในด้านเทคโนโลยี)

สิ่งที่คุณสามารถทำได้ในช่วงเวลาแห่งการรอคอย (รองานแรกของคุณในด้านเทคโนโลยี)

การเปลี่ยนอาชีพใหม่อาจเป็นเรื่องที่ท้าทายอย่างยิ่งหากคุณพยายามทำคนเดียว สิ่งสำคัญคือต้องหาพันธมิตรที่มีความรับผิดชอบซึ่งอยู่ในระดับการเรียนรู้เดียวกันกับคุณ ซึ่งมีเป้าหมาย ความดื้อรั้น และแรงผลักดันที่คล้ายคลึงกัน