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


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.