동료는 이것에 대해 들어 본 적이 없으며 실제 정의를 제공 할 수 없습니다. 저에게는 항상 'I-know-it-when-I-see-it'의 사례였습니다.
보너스 질문, 누가 용어를 시작 했습니까?
동료는 이것에 대해 들어 본 적이 없으며 실제 정의를 제공 할 수 없습니다. 저에게는 항상 'I-know-it-when-I-see-it'의 사례였습니다.
보너스 질문, 누가 용어를 시작 했습니까?
답변:
"boilerplate code"는 훨씬 더 단순 해 보이는 결과를 얻기 위해 반복적으로 나타나는 반복되는 코드입니다.
주관적인 정의입니다.
이 용어는 신문 산업의 "상용구"에서 유래 : 위키
어원학에서 상용구 라는 용어 : http://www.takeourword.com/Issue009.html ...
흥미롭게도이 용어는 신문 사업에서 비롯되었습니다. 신디케이트 된 칼럼 및 다른 조각은 매트 (즉, 매트릭스)의 형태로 가입 신문에 발송되었다. 일단 끓는 납을이 매트에 부어 조각을 인쇄하는 데 사용되는 플레이트를 만들었습니다. 따라서 이름이 상용구입니다. 상용구에 인쇄 된 기사를 변경할 수 없었기 때문에 변호사는이 용어를 다른 응용 프로그램에서 반복적으로 사용하여 변경되지 않은 계약의 일부를 나타내며, 결국에는 변경되지 않은 언어를 사용했습니다. 다른 경우에 반복적으로 사용 된 모든 문서
프로그래밍에서 상용구를 구성하는 요소는 무엇입니까? 다른 사람들이 지적했듯이, 프로세스에서 변경 사항이 거의 또는 전혀없이 반복적으로 복사되는 코드 덩어리 일뿐입니다.
보일러 플레이트 코드는 반복해서 사용할 수있는 코드를 의미합니다. 반면에 누구나 재사용 가능한 코드라고 말할 수 있습니다.
이 용어는 실제로 철강 산업에서 나왔습니다.
Wikipedia 에 따르면 약간의 역사가 있습니다 .
1890 년대에 보일러 플레이트는 실제로 인쇄 기용 금속으로 주조 또는 스탬프 처리되어 미국 전역의 신문에 배포되었습니다. 1950 년대까지 수천 개의 신문이 미국 최대의 공급 업체 인 Western Newspaper Union으로부터 이러한 종류의 상용구를 받아서 사용했습니다. 일부 회사는 또한 보도 자료를 상용구로 보내서 서면으로 인쇄해야했습니다.
이제 Wikipedia 에 따르면 :
객체 지향 프로그램에서 클래스에는 종종 인스턴스 변수를 가져오고 설정하는 메소드가 제공됩니다. 이러한 방법의 정의는 자주 상용구로 간주 될 수 있습니다. 코드는 클래스마다 다를 수 있지만, 수작업으로 작성하는 것보다 자동으로 더 잘 생성 될 정도로 구조적으로 충분히 정형 적입니다. 예를 들어, 애완 동물을 나타내는 다음 Java 클래스에서 Pet, name 및 owner 선언을 제외하고 거의 모든 코드가 상용구입니다.
public class Pet { private PetName name; private Person owner; public Pet(PetName name, Person owner) { this.name = name; this.owner = owner; } public PetName getName() { return name; } public void setName(PetName name) { this.name = name; } public Person getOwner() { return owner; } public void setOwner(Person owner) { this.owner = owner; } }
에서 위키 백과 :
컴퓨터 프로그래밍에서 상용구 란 거의 또는 전혀 변경하지 않고 여러 곳에 포함되어야하는 코드 섹션을 설명하는 데 사용되는 용어입니다. 장황하게 여겨지는 언어를 언급 할 때 더 자주 사용됩니다. 즉, 프로그래머는 최소한의 작업을 수행하기 위해 많은 코드를 작성해야합니다.
기본적으로 상용구 코드를 고려할 수 있습니다 를 프로그래밍 언어에 필요한 텍스트로 있습니다.
현대 언어는 그것을 줄이기 위해 노력하고 있지만 특정 유형 검사기가있는 오래된 언어도 있습니다 (예 : OCaml에는 Java와 같이 더 장황한 언어로 보일러 플레이트 코드가되는 선언을 피할 수있는 유형 유추자가 있습니다)
보일러 플레이트는 좋은 프로그래머가 피하는 것입니다 : 반복.
public static void main(String[] _)
있습니까?
실용적인 용어로, 상용구 코드는 모든 곳에서 잘라서 붙여 넣는 것들입니다. 종종 모듈 헤더와 일부 표준 / 필수 선언과 같은 것들이 될 것입니다 (모든 모듈은 로거를 선언해야하며 모든 모듈은 이름과 개정 등의 변수를 선언해야합니다.) 현재 프로젝트에서 메시지 처리기를 작성합니다. 그것들은 모두 같은 구조를 가지고 있으며 (메시지를 읽고, 확인하고, 처리하고), 처리기들 간의 의존성을 제거하기 위해 기본 클래스에서 상속받지 않기를 원합니다. 모든 루틴 변수, 표준 메소드, 예외 처리 프레임 워크를 선언했습니다. 개발자가해야 할 일은 처리중인 메시지에 특정한 코드를 추가하는 것뿐입니다. 빠르고 사용하기 쉬웠을 것입니다.
현재 많은 다른 프로그래밍 언어에서 보일러 플레이트 정의가 더욱 세계화되고 있습니다. OOP와 OOP가 된 하이브리드 언어에서 왔으며 절차 적으로 이전에 모델 / 템플릿 / 클래스 / 객체로 빌드 한 코드를 계속 반복하는 동일한 목표를 가지게되었으므로이 용어가 왜 적용됩니까? 템플릿을 만들고 템플릿의 각 인스턴스에 대해 수행하는 유일한 작업은이 부분을 보일러 플레이트라고하는 개체를 개별화하는 매개 변수입니다. 템플릿을 만든 코드를 다른 매개 변수와 함께 재사용하면됩니다.
동의어
청사진은 상용구입니다
. 스텐실은 상용구입니다
. 바닥 글은 상용구
입니다. 여러 용도를위한 디자인 패턴
은 상용구입니다.
Joshua Bloch 는 보일러 플레이트 코드가 얼마나 나쁜지를 만드는 API 설계에 대해 이야기 합니다. (오늘을 듣고, 상용구에 대한 46 분)
정보 기술에서 상용구는 변경없이 반복해서 재사용 할 수있는 작문 단위입니다. 또한 아이디어는 때때로 "보일러 플레이트 코드"와 같이 재사용 가능한 프로그래밍에 적용됩니다. 이 용어는 보일러 플레이트가 스팀 보일러에 사용하기 위해 큰 플레이트로 압연 된 철강 제조에서 파생됩니다. 그 결과는 상용구 쓰기가 "강철"로서 오랜 시간 테스트를 거친 것이거나 반복 재사용을 위해 충분히 강력한 것으로 롤아웃 된 것입니다.
프로그래밍을 넘어서 :
상용구는 특정 유형의 템플릿과 비교할 수 있으며, 이는 빈칸 채우기 상용구로 생각할 수 있습니다. 몇 가지 일반적인 상용구에는 임무 설명, 안전 경고, 일반적으로 사용되는 설치 절차, 저작권 설명 및 책임 부인이 포함됩니다.
프로그래머로서의 경험에서, 적절한 종류의 상용구 코드는 일반적으로 프레임 워크라고 할 정도로 크거나 복잡하지 않은 코드입니다.
전형적인 예는 HTML5 Boilerplate 입니다.
이를 "스 니펫"또는보다 정확하게 "스 니펫 모음"이라고 할 수 있습니다. 제가 생각하는 용어는 인쇄 및 인쇄 업계에서 만들어졌으며 실제 "플레이트"를 사용한 다음 다시 덩어리로 다시 사용했습니다. 더 트렌디하고 세련된 보이기 위해 간단한 것들에 대한 멋진 용어. 반응 = 적응성 / 유체를 참조하십시오.
WinMain
Win32 앱 의 함수 코드가 그 예입니다 . 앱의 창 클래스를 등록하고 메인 창을 만들고 이벤트 루프를 실행 한 다음 창 프로 시저의 종료 코드를 반환합니다. 이 기능은 종종 응용 프로그램간에 크게 변경되지 않으며 상대적으로 수정이 거의없이 재사용 될 수 있지만 라이브러리 (또는 그 부분에 대한 스 니펫)로 이해하기에는 일상적이지 않습니다.