다른 사람이 작성할 수 있도록 구현되지 않은 코드라는 용어가 있습니까?


91

때로는 프로그래밍 연습, 상용구 생성, 주니어 프로그래머가 구현해야 할 작업에 가이드 레일을 배치하는 등의 경우 프로그래머에게 구현되지 않은 코드가 표시되고 "공백을 채우십시오"라는 메시지가 나타납니다. 예를 들어 컴파일 할 수는 있지만 실패하는 단위 테스트 또는 빈 메서드가있는 클래스 선언을 예로들 수 있습니다.

이 관행에 대한 일반적인 용어가 있습니까?


정확히 당신이 요구하는 것이 아니라 관련이 있습니다. 코드에서 수행 할 작업을 보여주는 테스트 스크립트가 있으면 테스트 주도 개발이라고합니다.
AJFaraday

32
종결하기로 투표 한 사람에게 : "이 이름을 지으십시오"는 특별히 흥미로운 질문 이 아닐 수도 있습니다 . 그러나이 질문에는 주로 의견 기반이 아닌 객관적인 답변이 있습니다. 증거로 아래에 내 답변을 제시합니다.

3
"끔찍한 코딩 연습"이라고 말할 것입니다.
Euphoric


3
오류 처리에 대해 이야기하는 경우 "독자 운동"이 교과서 접근 방식 인 것 같습니다.
Phil Lello

답변:


177

스텁 또는 스켈레톤을 참조하고 있습니다 .

그루터기

이것은 일반적으로 더미 값을 반환하여 코드가 컴파일되는 대부분 비어있는 본문이있는 메소드 또는 함수입니다.

해골

이 방법은 고급 알고리즘을 구현하지만 개별 부품은 구현되지 않은 상태로 유지됩니다. 빈 코드 블록이거나 하위 작업을 수행하는 참조 스텁 메서드 (위 참조) 일 수 있습니다. 이는 더 큰 설계 노력으로 어려움을 겪을 수있는 주니어 프로그래머를 위해 또는 저수준 세부 사항에 너무 많은 시간을 투자하기 전에 알고리즘이 올바른지 확인하기위한 소프트웨어 설계를 표현하는 좋은 방법입니다.


이러한 코드 요소를 사용하는 것을 스터 빙 또는 코드 스켈레톤 생성 이라고 합니다.


3
나는 당신의 용어를 더 좋아하지만 Ruby on Rails의 '스캐 폴딩'이라는 용어는 같은 개념이라고 생각합니다.
dcorking

나는 또한 스텁이 이것에 대한 올바른 단어라고 생각했지만, 직장에서 다른 사람들로부터 밀려 나고 있었기 때문에 확실하지 않았습니다. 감사합니다.
Brandon Arnold

학문적 맥락에서 이루어지면 "스텁"입니다. 전문 / 상업적 맥락에서 "기술 부채"입니다.
aroth

10
@aroth 코드가 작동하지 않으면 기술 부채가 아닙니다. 반드시 구현해야합니다. 기술 부채 는 프로덕션 환경에서 사용되는 코드가 잘못 작성 되었음을 의미하므로 올바르게 리팩토링하려면 상당한 노력이 필요합니다. 스텁은 이상적으로 테스트 케이스가 실패하므로 프로덕션에서 느슨해지기 전에 구현 및 테스트 해야합니다 .

2
@BrandonArnold : 대학과 대화 할 때 그들이 이해하는 단어를 사용해야합니다. 당신이 보스가 아니라면.
Stig Hemmer

42

stub ” 이라는 용어 가 사용되었습니다.

예를 들어, Eclipse가 자동으로 주석을 삽입 한다고 생각합니다 .

String getName() {
    // TODO: Auto-generated method stub
    return null;
}

악명 높은 자동 생성 된 스텁으로

또한 단위 테스트 와 관련하여 "스텁"이라는 용어의 사용법에 유의하십시오 .


2
"// TODO : 자동 생성 된 메소드 스터브"라고 생각합니다.
immibis

이것을 아는 것은 확실히 유용합니다. . .
Brandon Arnold

17

Visual Studio에서 코드 작성시 인텔리전스는 "새 메소드 스텁 생성"옵션을 제공합니다. 이 옵션을 선택하면 Visual Studio가 설명한대로 스텁 / 스켈레톤 코드를 생성합니다.

Microsoft는 이것을 스텁이라고하며,이 스텁을 호출 할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.