ด้วยการปรับปรุงประสิทธิภาพของเบราว์เซอร์และการยอมรับอย่างต่อเนื่องของอินเทอร์เฟซการเขียนโปรแกรม HTML5 ใหม่ปริมาณ JavaScript บนหน้าเว็บจะค่อยๆเพิ่มขึ้นอย่างค่อยเป็นค่อยไป อย่างไรก็ตามโปรแกรมที่เขียนไม่ดีมีศักยภาพที่จะทำลายเว็บไซต์ทั้งหมดทำให้ผู้ใช้หงุดหงิดและผลักดันลูกค้าที่มีศักยภาพ
นักพัฒนาต้องใช้เครื่องมือและเทคนิคทั้งหมดที่พวกเขาสามารถใช้เพื่อปรับปรุงคุณภาพของรหัสและมั่นใจว่าการดำเนินการทุกครั้งสามารถคาดเดาได้ นี่คือหัวข้อที่ลึกล้ำในใจของฉันและฉันได้ทำงานมาหลายปีเพื่อค้นหาชุดของขั้นตอนที่จะปฏิบัติตามในระหว่างกระบวนการพัฒนาเพื่อให้แน่ใจว่าเฉพาะรหัสคุณภาพสูงสุดเท่านั้นที่สามารถเผยแพร่ได้
เพียงทำตามขั้นตอนเจ็ดขั้นตอนเหล่านี้เพื่อปรับปรุงคุณภาพของโครงการ JavaScript ของคุณอย่างมาก ด้วยเวิร์กโฟลว์นี้ข้อผิดพลาดจะลดลงและการเพิ่มประสิทธิภาพการประมวลผลจำนวนมากจะเกิดขึ้นทำให้ผู้ใช้ได้รับประสบการณ์การท่องเว็บที่น่าพอใจ
01. รหัส
ก่อนอื่นให้เรียกโหมดที่เข้มงวดของ ECMASCript5 และการประกาศ "โหมดที่เข้มงวด" ในฟังก์ชั่นของคุณและใช้โหมดการออกแบบของโมดูลนี้ ในการปิดฟังก์ชั่นการดำเนินการด้วยตนเองการใช้ตัวแปรส่วนกลางควรลดลงผ่านโมดูลรหัสอิสระของ Sandbox และผ่านการพึ่งพาภายนอกใด ๆ เพื่อให้โมดูลตัวแปรทั่วโลกชัดเจนและรัดกุม ใช้เฉพาะห้องสมุดและเฟรมเวิร์กของบุคคลที่สามที่ได้รับการพิสูจน์แล้วและได้รับการตรวจสอบเป็นอย่างดี
โครงการขนาดใหญ่ที่มีนักพัฒนาหลายคนควรปฏิบัติตามชุดของหลักการการเข้ารหัสที่กำหนดไว้เช่นคู่มือสไตล์จาวาสคริปต์ของ Google และต้องการกฎการจัดการรหัสที่แข็งแกร่งขึ้นรวมถึงการจัดการการพึ่งพาอย่างเข้มงวดผ่านห้องสมุดเช่นต้องการการจัดการแพ็คเกจโดยใช้คำจำกัดความโมดูลแบบอะซิงโครนัส (AMD) การสื่อสารแบบคู่ระหว่างโมดูลรหัสที่แตกต่างกัน นี่เป็นความคิดที่ชาญฉลาด: ใช้ระบบระบบที่เก็บรหัสเช่น Git หรือการโค่นล้มเพื่อให้รหัสของคุณสำรองในคลาวด์ผ่านบริการบางอย่างเช่นซอร์สโค้ดหรือถั่ววิเศษให้ความสามารถในการกู้คืนรุ่นก่อนหน้าและสร้างสาขาของรหัสสำหรับโครงการขั้นสูงเพิ่มเติม
02. ไฟล์
ใช้รูปแบบบล็อกคำอธิบายประกอบที่มีโครงสร้างเช่น Yuidoc หรือ JSDOC กับฟังก์ชั่นของไฟล์ดังนั้นนักพัฒนาทุกคนสามารถเข้าใจวัตถุประสงค์ได้โดยไม่ต้องศึกษารหัสซึ่งสามารถลดความเข้าใจผิดได้ การใช้ไวยากรณ์ Markdown สามารถมีความคิดเห็นและคำอธิบายที่ยาวขึ้นได้ดียิ่งขึ้น ใช้เครื่องมือบรรทัดคำสั่งที่เกี่ยวข้องเพื่อสร้างเอกสารบนเว็บไซต์โดยอัตโนมัติ: ขึ้นอยู่กับความคิดเห็นเชิงโครงสร้างเหล่านี้สอดคล้องกับการแก้ไขใด ๆ ที่เกิดขึ้นในรหัสของคุณ
03. การวิเคราะห์ติดตาม
เรียกใช้เครื่องมือวิเคราะห์รหัสแบบคงที่บนรหัสของคุณเป็นประจำเช่น JShint หรือ JSlint การตรวจสอบข้อบกพร่องในการเข้ารหัสที่รู้จักและข้อผิดพลาดที่อาจเกิดขึ้นเช่นลืมที่จะใช้รูปแบบที่เข้มงวดหรือการอ้างอิงตัวแปรที่ไม่ได้ประกาศและวงเล็บหรือเครื่องหมายอัฒภาคที่ขาดหายไป แก้ไขปัญหาใด ๆ เกี่ยวกับการควบคุมเครื่องมือเพื่อปรับปรุงคุณภาพของรหัสของคุณ ลองตั้งค่าตัวเลือกเริ่มต้นสำหรับทีมงานโครงการของคุณเพื่อปรับปรุงมาตรฐานการเข้ารหัสเช่นการเยื้องแต่ละบรรทัดโดยช่องว่างที่จะวางเครื่องมือจัดฟันแบบหยิกและใช้เครื่องหมายคำพูดเดี่ยวหรือคู่ตลอดทั้งไฟล์รหัส
04. ทดสอบ
การทดสอบหน่วยเป็นหนึ่งในฟังก์ชั่นที่ดำเนินการโดยฟังก์ชั่นอิสระขนาดเล็ก: ดำเนินการหนึ่งในฟังก์ชั่นจากฐานรหัสหลักของอินพุตเฉพาะของคุณเพื่อยืนยันว่าจะส่งออกค่าที่คาดหวัง เพื่อเพิ่มความมั่นใจของคุณรหัสจะเขียนเฟรมเวิร์กที่ใช้อย่างที่คาดไว้เช่นจัสมินหรือควีนตินสำหรับการทดสอบหน่วยการทำงานแต่ละครั้งโดยใช้พารามิเตอร์อินพุตที่คาดหวังและไม่คาดคิด แต่อย่าลืมสถานการณ์ที่ขอบเหล่านั้น!
เรียกใช้การทดสอบเหล่านี้บนเบราว์เซอร์หลายตัวในระบบปฏิบัติการหลายระบบช่วยให้คุณสามารถเร่งการทดสอบบนเครื่องเสมือนในคลาวด์ในความต้องการของคุณโดยใช้ประโยชน์จากบริการนี้เช่น BrowserStack หรือ Sauce Labs บริการทั้งสองนี้ให้ API ที่ช่วยให้การทดสอบหน่วยของคุณทำงานโดยอัตโนมัติบนเบราว์เซอร์หลายตัวในเวลาเดียวกันและเมื่อเสร็จสิ้นพวกเขาจะป้อนผลลัพธ์กลับมาให้คุณ เป็นโบนัสหากรหัสของคุณถูกเก็บไว้ใน GitHub คุณสามารถใช้ Browserswarm เครื่องมือที่จะเรียกใช้การทดสอบหน่วยโดยอัตโนมัติเมื่อคุณส่งรหัสของคุณ
05. การวัด
เครื่องมือครอบคลุมรหัสเช่นการวัดอิสตันบูลบรรทัดใดของรหัสที่ดำเนินการเมื่อการทดสอบหน่วยของคุณทำงานบนฟังก์ชั่นของคุณโดยรายงานว่าเป็นเปอร์เซ็นต์ของจำนวนบรรทัดทั้งหมดของรหัส การเรียกใช้เครื่องมือครอบคลุมรหัสในการทดสอบหน่วยของคุณและการเพิ่มการทดสอบเพิ่มเติมสามารถเพิ่มคะแนนความครอบคลุมของคุณเป็น 100%ทำให้คุณมั่นใจมากขึ้นในรหัสของคุณ
ความซับซ้อนของฟังก์ชั่นสามารถวัดได้โดยใช้ตัวชี้วัดความซับซ้อนของ Hallstead: สมการที่จัดตั้งขึ้นโดยนักวิทยาศาสตร์คอมพิวเตอร์ Morris Hallstead ในปี 1970 ความซับซ้อนของฟังก์ชั่นนั้นถูกวัดปริมาณตามลูปสาขาและฟังก์ชั่นที่เรียกว่ามันมี: ความซับซ้อนของฟังก์ชันสามารถวัดได้โดยใช้มาตรการความซับซ้อนของ Halstead เมื่อคะแนนที่ซับซ้อนนี้ลดลงยิ่งเข้าใจและรักษาฟังก์ชั่นนี้ได้ง่ายขึ้นลดความเป็นไปได้ของข้อผิดพลาด การสร้างภาพข้อมูลที่สร้างขึ้นของเครื่องมือบรรทัดคำสั่ง PLATO และความซับซ้อนของรหัส JavaScript ช่วยกำหนดฟังก์ชั่นที่สามารถปรับปรุงได้ในขณะที่จัดเก็บผลลัพธ์ก่อนหน้านี้ช่วยให้สามารถติดตามการปรับปรุงคุณภาพได้ตลอดเวลา
06. ระบบอัตโนมัติ
ใช้นักวิ่งงานเช่นเสียงฮึดฮัดเพื่อใช้งานกระบวนการรวบรวมไฟล์การวิเคราะห์การทดสอบการครอบคลุมและการสร้างรายงานความซับซ้อนโดยอัตโนมัติซึ่งช่วยให้คุณประหยัดเวลาและความพยายามและเพิ่มโอกาสในการแก้ปัญหาคุณภาพใด ๆ ที่เกิดขึ้น เครื่องมือและกรอบการทดสอบส่วนใหญ่ที่เน้นในโพสต์นี้เกี่ยวข้องกับเสียงฮึดฮัดซึ่งสามารถช่วยให้คุณปรับปรุงคุณภาพของเวิร์กโฟลว์และรหัสของคุณโดยไม่ต้องย้ายนิ้ว
07. จัดการข้อยกเว้น
ในเวลาเดียวกันรหัสของคุณจะมีข้อผิดพลาดเมื่อทำงาน ใช้คำสั่ง "ลอง ... จับ" เพื่อจัดการกับข้อผิดพลาดรันไทม์อย่างถูกต้องและผลกระทบของการ จำกัด พฤติกรรมในเว็บไซต์ของคุณ ใช้บริการเครือข่ายเพื่อบันทึกข้อผิดพลาดที่เกิดขึ้นขณะทำงาน และใช้ข้อมูลนี้เพื่อเพิ่มการทดสอบหน่วยใหม่เพื่อปรับปรุงรหัสของคุณและกำจัดข้อผิดพลาดเหล่านี้ทีละตัว
ขั้นตอนสู่ความสำเร็จ
เจ็ดขั้นตอนเหล่านี้ช่วยให้ฉันสร้างรหัสบางอย่างที่ฉันภูมิใจที่สุดในอาชีพการงานของฉันจนถึงตอนนี้ พวกเขายังเป็นรากฐานที่ดีสำหรับอนาคต ในโครงการของคุณเองเราสัญญาว่าจะใช้ขั้นตอนเหล่านี้เพื่อสร้างรหัส JavaScript คุณภาพสูงเพื่อให้เราสามารถทำงานร่วมกันเพื่อปรับปรุงเครือข่ายและนำไปสู่ความสำเร็จทีละขั้นตอน