5
เมื่อใดและเพราะเหตุใดคุณจึงควรใช้ช่องว่าง (แทนเช่น bool / int)
ฉันพบวิธีในบางครั้งที่ผู้พัฒนาเลือกที่จะคืนสิ่งที่ไม่สำคัญกับฟังก์ชั่น ฉันหมายถึงเมื่อดูที่รหัสดูเหมือนว่าจะทำงานได้ดีพอ ๆ กับvoidหลังจากที่ฉันคิดว่า "ทำไม" เสียงนี้คุ้นเคยไหม? บางครั้งผมก็จะเห็นว่าส่วนใหญ่มักจะดีกว่าที่จะกลับมาสิ่งที่ต้องการboolหรือมากกว่าแล้วก็ทำint voidฉันไม่แน่ใจว่าในภาพรวมเกี่ยวกับข้อดีข้อเสีย ขึ้นอยู่กับสถานการณ์การส่งคืนintสามารถทำให้ผู้โทรทราบถึงจำนวนแถวหรือวัตถุที่ได้รับผลกระทบจากวิธีการ (เช่นบันทึก 5 รายการไปยัง MSSQL) หากวิธีการเช่น "InsertSomething" ส่งกลับแบบบูล, ฉันจะมีวิธีการออกแบบมาเพื่อกลับถ้าประสบความสำเร็จอื่นtrue falseผู้เรียกสามารถเลือกที่จะดำเนินการหรือไม่ใช้ข้อมูลนั้น ในทางกลับกัน, มันอาจนำไปสู่วัตถุประสงค์ที่ชัดเจนน้อยลงของวิธีการโทร? การเข้ารหัสที่ไม่ดีมักจะบังคับให้ฉันต้องตรวจสอบเนื้อหาวิธีอีกครั้ง ถ้ามันคืนบางอย่างมันบอกคุณว่าวิธีนั้นเป็นประเภทที่คุณต้องทำอะไรบางอย่างกับผลลัพธ์ที่ส่งคืน ปัญหาอีกประการหนึ่งคือหากคุณไม่รู้จักวิธีการใช้งานผู้พัฒนาตัดสินใจว่าจะส่งคืนสิ่งที่ไม่สำคัญต่อการทำงาน แน่นอนคุณสามารถแสดงความคิดเห็นได้ ค่าส่งคืนจะต้องมีการประมวลผลเมื่อการประมวลผลอาจจะสิ้นสุดที่วงเล็บปิดของวิธีการ เกิดอะไรขึ้นภายใต้ประทุน? วิธีการที่เรียกว่าได้รับfalseเนื่องจากข้อผิดพลาดโยนหรือไม่ หรือมันกลับเท็จเนื่องจากผลการประเมิน? คุณมีประสบการณ์อะไรกับเรื่องนี้? คุณจะทำสิ่งนี้อย่างไร