이것은 C ++의 개발에서 제안되었으며 Stroustrup은 "C ++의 디자인과 진화", 153 페이지 및 다음 페이지에서 이에 대해 설명합니다. 제안은 잘 정립되었으며 Ada와의 사전 경험을 바탕으로 작성되었습니다. 채택되지 않았습니다.
가장 큰 이유는 아무도 매개 변수가 많은 기능을 장려하기를 원하지 않았기 때문입니다. 언어의 각 추가 기능에는 비용이 들며, 나쁜 프로그램을보다 쉽게 작성할 수 있도록 기능을 추가 할 필요가 없었습니다.
또한 표준 헤더 이름, 특히 일반적인 헤더 및 코드 파일 규칙에 대한 질문도 제기되었습니다. 일부 조직은 .h 파일에 더 길고 더 설명적인 매개 변수 이름을 가지고 있으며 .cpp 파일에 이름을 더 짧고 쉽게 입력 할 수 있습니다 (원하는대로 파일 접미사 대체). 이것들을 동일하게 요구하면 컴파일에 추가 비용이 들게되며 소스 파일 사이에 이름을 섞으면 미묘한 버그가 발생할 수 있습니다.
함수 호출이 아닌 객체를 사용하여 처리 할 수도 있습니다. 12 개의 매개 변수를 사용하는 GetWindow 호출 대신 12 개의 개인 변수를 사용하여 Window 클래스를 만들고 필요에 따라 setter를 추가하십시오. setter를 연결하면 다음과 같은 내용을 작성할 수 my_window.SetColor(green).SetBorder(true).SetBorderSize(3);있습니다. 실제로 작업을 수행하는 함수를 호출하는 다른 기본값을 가진 다른 함수를 가질 수도 있습니다.
의 문서 효과에 대해 걱정이되는 경우 contentFetcher.DownloadNote(note, manual : true);언제든지와 같은 내용을 작성할 수 contentFetcher.DownloadNote(note, /* manual */ true);있으므로 문서에서 그다지 도움이되지 않습니다.