ใช้ถ้า
ในหนังสือของ Don Knuth เกี่ยวกับ GOTO's ฉันอ่านเขาให้เหตุผลว่าการมีสภาพที่เป็นไปได้มากที่สุดมาก่อนเสมอในประโยค if ภายใต้สมมติฐานที่ว่านี้ยังคงเป็นความคิดที่สมเหตุสมผล (และไม่ใช่หนึ่งในการพิจารณาที่บริสุทธิ์สำหรับความเร็วของยุคนั้น) ฉันจะบอกว่าผลตอบแทนในช่วงต้นนั้นไม่ใช่วิธีการเขียนโปรแกรมที่ดีโดยเฉพาะอย่างยิ่งเมื่อพิจารณาถึงความจริงที่ว่าพวกเขาใช้บ่อยกว่าที่ไม่ได้ใช้ในการจัดการข้อผิดพลาดเว้นแต่ว่าโค้ดของคุณมีแนวโน้มที่จะล้มเหลวมากกว่าไม่ล้มเหลว :-)
หากคุณทำตามคำแนะนำข้างต้นคุณจะต้องใส่ผลตอบแทนนั้นที่ด้านล่างของฟังก์ชั่นและจากนั้นคุณอาจจะไม่เรียกมันว่าคืนที่นั่นเพียงตั้งรหัสข้อผิดพลาดและส่งคืนสองบรรทัดดังนั้น เพื่อให้บรรลุเป้าหมาย 1 รายการ 1 ทางออก
เฉพาะ Delphi ...
ฉันคิดว่านี่เป็นวิธีการเขียนโปรแกรมที่ดีสำหรับโปรแกรมเมอร์ Delphi แม้ว่าฉันจะไม่มีข้อพิสูจน์ใด ๆ Pre-D2009 เราไม่มีวิธีปรมาณูที่จะคืนค่าเรามีexit;
และresult := foo;
หรือเราอาจโยนข้อยกเว้น
หากคุณต้องเปลี่ยน
if (true) {
return foo;
}
สำหรับ
if true then
begin
result := foo;
exit;
end;
คุณอาจเบื่อที่จะเห็นสิ่งนั้นที่อยู่เหนือสุดในทุกฟังก์ชั่นของคุณและชอบ
if false then
begin
result := bar;
...
end
else
result := foo;
และเพียงหลีกเลี่ยงexit
ทั้งหมด