สิ่งนี้ถูกแนะนำในการพัฒนา C ++ และ Stroustrup กล่าวถึงใน "การออกแบบและวิวัฒนาการของ C ++" ของเขาหน้า 153 และต่อไปนี้ ข้อเสนอนั้นมีรูปแบบที่ดีและมีประสบการณ์ก่อนหน้านี้กับ Ada มันไม่ได้เป็นลูกบุญธรรม
เหตุผลที่ดีที่สุดคือไม่มีใครต้องการสนับสนุนฟังก์ชั่นที่มีพารามิเตอร์จำนวนมาก คุณลักษณะเพิ่มเติมแต่ละอย่างในภาษามีค่าใช้จ่ายและไม่มีความปรารถนาที่จะเพิ่มคุณสมบัติเพื่อให้ง่ายต่อการเขียนโปรแกรมที่ไม่ดี
นอกจากนี้ยังทำให้เกิดคำถามว่าชื่อพารามิเตอร์แบบบัญญัติเป็นอย่างไรโดยเฉพาะอย่างยิ่งในหัวข้อปกติและรหัสไฟล์แบบแผน บางองค์กรมีชื่อพารามิเตอร์อธิบายที่ยาวและมากกว่าในไฟล์. h และสั้นกว่าและง่ายกว่าในการพิมพ์ชื่อในไฟล์. cpp (แทนที่ส่วนต่อท้ายของไฟล์ตามต้องการ) การร้องขอให้สิ่งเหล่านี้เหมือนกันจะเป็นค่าใช้จ่ายเพิ่มเติมในการรวบรวมและการได้รับชื่อที่ผสมกันระหว่างไฟล์ต้นฉบับอาจทำให้เกิดข้อบกพร่องเล็กน้อย
นอกจากนี้ยังสามารถจัดการโดยใช้วัตถุแทนการเรียกใช้ฟังก์ชัน แทนการเรียก GetWindow ด้วยพารามิเตอร์โหลสร้างคลาสหน้าต่างด้วยตัวแปรส่วนตัวโหลและเพิ่มตัวตั้งค่าตามความจำเป็น โดยการผูกมัด setters my_window.SetColor(green).SetBorder(true).SetBorderSize(3);
มันเป็นไปได้ที่จะเขียนสิ่งที่ต้องการ นอกจากนี้ยังเป็นไปได้ที่จะมีฟังก์ชั่นที่แตกต่างกับค่าเริ่มต้นที่แตกต่างกันที่เรียกใช้ฟังก์ชั่นที่ใช้งานได้จริง
หากคุณกังวลเกี่ยวกับผลกระทบของเอกสารcontentFetcher.DownloadNote(note, manual : true);
คุณสามารถเขียนสิ่งที่ชอบได้contentFetcher.DownloadNote(note, /* manual */ true);
ตลอดเวลาดังนั้นจึงไม่มีประโยชน์ในการจัดทำเอกสาร