ฉันรู้ว่าสถานการณ์นี้ดีมาก เมื่อฉันติดอยู่ในแบบนั้นฉันก็ลองมองมุมมองต่าง ๆ ในโครงการ
1. ) มุมมองของผู้ใช้ / ลูกค้า - ใช้ความคิดเห็น
น่าเสียดายที่เราติดอยู่ในรหัสของเราในแบบที่เราไม่สามารถมองเห็นข้อบกพร่องของเราได้เพราะเราใช้แอปพลิเคชันของเราในแบบที่เราได้เขียนโค้ดไว้ ดูว่าผู้คนใช้มันอย่างไรและพยายามหาว่าคำแนะนำผู้ใช้ที่เข้าใจง่ายที่สุดจะเป็นอย่างไร เล่นกับต้นแบบ UI ดูเหมือนว่าจะสนุก แต่ถ้าคุณพบว่าคุณจะถูกบังคับให้เข้ารหัสส่วนใหญ่ของรหัสของคุณเพียงแค่เปลี่ยนตรรกะการใช้งานกว่าเวลาที่จะเริ่มวงจรการออกแบบใหม่
2. ) ทำการวิเคราะห์การทำงานของรหัสของคุณและมองเห็นมัน
IDE และเฟรมเวิร์กบางตัวช่วยให้คุณสามารถผสม UI และโค้ดแบ็กเอนด์ หากคุณปล่อยให้สิ่งนี้เกิดขึ้นคุณจะต้องเผชิญกับสถานการณ์ที่ฐานรหัสของคุณแทบจะไม่ได้รับการดูแลรักษาเนื่องจากความคลุมเครือและยากที่จะทำลายการพึ่งพา โดยเฉพาะอย่างยิ่งการผสมรหัส UI กับรหัสอื่นสามารถนำไปสู่รหัสสปาเก็ตตี้และการทำงานซ้ำซ้อน แบ่งรหัสของคุณในบล็อกที่ใช้งานได้เช่นคลาสฐานข้อมูลคลาสการสื่อสารคลาส UI, คลาสหลัก ฯลฯ และตั้งชื่อบล็อกให้ฟังก์ชั่น จากนั้นแสดงภาพการทำงานด้วยเครื่องมือกราฟิก (ฉันใช้เครื่องมือการทำแผนที่ความคิด) เพื่อค้นหาว่าโครงสร้างของคุณเป็นแบบตรรกะและแบบแยกส่วนมากพอที่คุณสามารถใช้บล็อกโค้ดขนาดใหญ่สำหรับโครงการที่แตกต่างกันได้หรือไม่ ปวดมาก
วิธีที่ดีที่สุดในการทำเช่นนี้ในประสบการณ์ของฉันคือการสร้างเอกสารที่แสดงภาพการพึ่งพาทั้งหมดระหว่างชั้นเรียนของคุณและการโทรจากรหัสของคุณ ผลที่ได้คือการสร้างภาพของการออกแบบส่วนต่อประสานของคุณ หากการแมปรหัสนี้ดูเหมือนว่าคลัสเตอร์สมบูรณ์ *** กว่าถึงเวลาที่จะดำเนินการ หากยังไม่เกิดขึ้นคุณควรนึกถึงหลักการตั้งชื่อที่เหมาะสมซึ่งแสดงถึงโครงสร้างรหัสของคุณในแบบที่คุณไม่ต้องคิดเกี่ยวกับวิธีการเรียกมันและสิ่งที่มันทำ
3. ) ใช้วิธีการทั่วไปในการประกันคุณภาพ
สิ่งที่ฉันชอบคือ FMEA ในแง่ของการเข้ารหัสสิ่งนี้ไม่เพียง แต่จะวิเคราะห์สิ่งที่ผิดพลาดในอดีต แต่ยังคิดถึงสิ่งที่อาจผิดไป ตัวอย่างที่พบได้บ่อยคือการเชื่อมต่อเครือข่ายหลุด หลังจากที่คุณทำสิ่งนี้แล้วคุณสามารถจำแนกเงื่อนไขข้อผิดพลาดโดยผลที่ตามมาเช่นการสูญเสียข้อมูลความผิดพลาดการคำนวณที่ไม่ถูกต้อง หากยังไม่เสร็จสิ้นการกำหนดข้อผิดพลาดที่คล่องตัวและคลาสยกเว้นและกิจวัตรสามารถช่วยให้คุณรักษารหัสของคุณสะอาดและตรง วิธีที่ดีที่สุดคือการใช้สิ่งเหล่านั้นในความสงบสุขของรหัสใหม่ก่อนที่จะเริ่มเขียนสิ่งอื่น (เอ่อฉันรู้สึกผิดที่ไม่ทำตามคำแนะนำนี้เสมอไป)
นอกจากนี้ยังช่วยให้ฉันสร้างและอัปเดต "รายการข้อเสนอการปรับปรุง" บ่อยๆสำหรับรหัสของฉันเอง (ความจริงแล้วยังมีรหัสจำนวนมากในโครงการของฉันที่ฉันไม่ภูมิใจ) ฉันพยายามใช้เวลาในการรวบรวมและดูรหัสการปฏิบัติที่ดีที่สุดจากเอกสาร API การประชุมนักพัฒนาหรือนิตยสารนักพัฒนา
จนถึงจุดนี้ไม่จำเป็นต้องแตะรหัสของคุณ เป็นเพียงการตระหนักถึงสิ่งที่ผิดปกติและค้นหาวิธีการกำหนดวิธีปรับปรุงรหัสของคุณ
ในที่สุดก็มีเคล็ดลับสำหรับการทำงานประจำวันจากผายลมเก่า พยายามหลีกเลี่ยงการกัดมากกว่าที่คุณสามารถกิน สิ่งนี้นำไปสู่แรงกดดันมากเกินไปสำหรับการเขียนโค้ดที่สะอาด คุณไม่ค่อยได้เวลาทำถูกต้อง แต่คุณจะต้องใช้เวลาในการแก้ไขข้อบกพร่องในภายหลัง
ไม่มีอะไรที่ยาวนานพอ ๆ กับวิธีแก้ปัญหาชั่วคราว แต่เมื่อมันหยุดพักก็มักจะมาช้าเพื่อแก้ไขในเวลา ตัวอย่างคือแฮ็กที่น่ารังเกียจหรือข้อยกเว้นแปลก ๆ ที่ฉันเคยได้รับบางสิ่งบางอย่างที่จะทำงานแม้จะมีข้อบกพร่องในกรอบพื้นฐานหรือระบบปฏิบัติการ จากนั้นข้อผิดพลาดคงที่หรือเวอร์ชันใหม่เพียงแค่ปล่อย API ...
หากคุณติดขัดและถูกบังคับให้ต้องหาวิธีแก้ปัญหามากกว่าให้ความเห็นและจดบันทึกซึ่งควรได้รับการตรวจสอบเป็นครั้งคราว โดยปกติเราจะดีขึ้นเรื่อย ๆ เพราะการเรียนรู้สิ่งใหม่ หากคุณพบวิธีที่ดีกว่าใช้มันให้เร็วที่สุดเท่าที่จะทำได้ มิฉะนั้นคุณอาจพบว่าคุณกำลังเขียนรหัสการแก้ไขปัญหาสำหรับวิธีแก้ปัญหาและข้อยกเว้นข้อยกเว้นหนึ่งวัน (ผู้ที่ปราศจากบาปในหมู่พวกคุณปล่อยให้เขาโยนไบต์แรกมาที่ฉัน)