ฉันต้องแก้รหัสในตัวควบคุมมุมมองขนาดใหญ่ก่อนหน้านี้และมันขัดขวางความสามารถของฉันในการนำทางเนื้อหาในตอนแรก สิ่งสำคัญอย่างหนึ่งที่ฉันรู้คือขนาดเพียงอย่างเดียวของ View Controller นั้นไม่มีเหตุผลเพียงพอที่จะแยกสิ่งต่าง ๆ ออกจากกัน มีความซับซ้อนในการมี 1 ไฟล์ขนาดใหญ่และความซับซ้อนในการมีไฟล์จำนวนน้อย ต่อไปนี้เป็นเหตุผลที่ถูกต้องในการ refactor เพื่อแบ่ง View Controller ออกเป็นส่วนย่อย ๆ :
MVC
View Controller ไม่ควรทำอะไรมากไปกว่าการเป็นกาวเชื่อมต่อระหว่าง View และ Model หากคุณมีรหัสการเชื่อมต่อเครือข่ายจำนวนมากรหัสการจัดการภาพ ฯลฯ ให้พิจารณาแบ่งออกเป็นคลาสตัวช่วย
การควบคุมหลายอย่างด้วย View Controller เป็นแหล่งข้อมูล
หากคุณมีการควบคุมหลายอย่างบนหน้าจอที่มี View Controller เป็นแหล่งข้อมูลให้พิจารณาแบ่งสิ่งเหล่านั้นออกเป็นวัตถุแหล่งข้อมูลแยกต่างหาก หรือคุณสามารถแบ่งมันออกเป็นมุมมองแยกตัวควบคุม (เช่นถ้าคุณดูตัวควบคุมมีมุมมองตารางนอกเหนือจากตัวควบคุมอื่นคุณสามารถแบ่งสิ่งนั้นลงในคลาสตัวควบคุมมุมมองตารางของตัวเอง)
รหัสซ้ำ
หากคุณมีรหัสเดียวกันที่แน่นอนในตัวควบคุมมุมมองที่แตกต่างกันให้ใส่ไว้ใน 1 ตำแหน่งที่แชร์ ซึ่งจะทำให้โค้ดของคุณสามารถนำกลับมาใช้ใหม่และช่วยจัดการความซับซ้อน
นี่คือคำแนะนำเพิ่มเติมเพื่อลดความซับซ้อนของ View Controller:
กระดานเรื่องราวแทนที่จะเป็นแบบโปรแกรม
การสร้างองค์ประกอบ View เป็นรหัสจำนวนมากและรหัสเรขาคณิตของเฟรมก็มีผลงานมากมายเช่นกัน หากยังไม่ได้พิจารณาใช้ข้อ จำกัด เลย์เอาต์อัตโนมัติและวางองค์ประกอบ View ให้มากที่สุดในกระดานเรื่องราวให้มากที่สุด
รหัส / ความคิดเห็นที่ไม่จำเป็น
ตรวจสอบให้แน่ใจว่าได้ลบรหัส / ความคิดเห็นที่ไม่จำเป็นออกไป บ่อยครั้งที่ไฟล์ View Controller ใหม่จะมาพร้อมกับวิธีการที่คุณไม่ได้ใช้ หากคุณไม่ได้ใช้วิธีการเช่นdidReceiveMemoryWarning
นั้นจะปลอดภัยที่จะนำออก นอกจากนี้เนื่องจากไฟล์ View Controller มีขนาดใหญ่มากบางครั้งมันน่ากลัวที่จะลบรหัสเก่าหรือความคิดเห็น อย่าเอาออก! มันเพิ่มความซับซ้อนเท่านั้น
การแจ้งเตือน
หากต้องการตอบคำถามของคุณเกี่ยวกับการแจ้งเตือน: การแจ้งเตือนไม่ใช่ Golden Hammer ที่จะใช้กับทุกสิ่ง ฉันพบว่าการแจ้งเตือนมีประโยชน์เมื่อ View Controller หลายรายการจำเป็นต้องอัปเดตพร้อมกันเนื่องจากมีการกระทำ 1 รายการ ระวังด้วยการแจ้งเตือนแม้ว่าการใช้งานมากเกินไปอาจทำให้คุณเจ็บปวดมากในการติดตามพวกเขา