มีคำสำหรับรหัสที่ไม่ได้ใช้ซึ่งเขียนขึ้นเพื่อให้ผู้อื่นกรอกหรือไม่


91

บางครั้งในแบบฝึกหัดการเขียนโปรแกรมการสร้างต้นแบบการวางรางนำทางรอบ ๆ งานสำหรับโปรแกรมเมอร์รุ่นเยาว์เพื่อนำไปปฏิบัติ ฯลฯ มันเกิดขึ้นว่าโปรแกรมเมอร์จะแสดงโค้ดที่ไม่ได้ใช้งานและบอกให้ "เติมคำในช่องว่าง" ตัวอย่างเช่นการทดสอบหน่วยที่อาจรวบรวม แต่ล้มเหลวหรือประกาศคลาสด้วยวิธีการที่ว่างเปล่า

มีศัพท์ทั่วไปสำหรับการฝึกนี้หรือไม่?


ไม่ว่าสิ่งที่คุณถาม แต่ที่เกี่ยวข้อง หากยังมีสคริปต์ทดสอบที่แสดงรหัสของคุณที่คาดว่าจะทำมันก็จะเรียกว่าการทดสอบการพัฒนาขับเคลื่อน
AJFaraday

32
สำหรับผู้ที่ลงคะแนนให้ปิด: แน่นอนว่า "ตั้งชื่อสิ่งนี้" อาจไม่ใช่คำถามที่น่าสนใจเป็นพิเศษ อย่างไรก็ตามคำถามนี้มีคำตอบที่ตรงประเด็นซึ่งไม่ได้อิงตามความคิดเห็นเป็นหลัก ตามหลักฐานฉันแสดงคำตอบของฉันด้านล่าง

3
ฉันจะพูดว่า "ฝึกการเข้ารหัสแย่มาก"
ร่าเริง


3
"การออกกำลังกายสำหรับผู้อ่าน" น่าจะเป็นวิธีตำราถ้าคุณกำลังพูดถึงการจัดการข้อผิดพลาด
Phil Lello

คำตอบ:


177

คุณกำลังอ้างถึงต้นขั้วหรือโครงกระดูก :

ต้นขั้ว

นี่คือวิธีหรือฟังก์ชั่นที่มีเนื้อความว่างเปล่าเป็นส่วนใหญ่ซึ่งจะส่งกลับค่าดัมมี่ดังนั้นโค้ดจะคอมไพล์

โครงกระดูก

นี่เป็นวิธีการที่มีอัลกอริธึมระดับสูงนำมาใช้ แต่ชิ้นส่วนแต่ละชิ้นจะไม่ถูกนำไปใช้ อาจเป็นบล็อคโค้ดเปล่าหรือวิธีการอ้างอิงส่วนท้าย (ดูด้านบน) ที่จะทำงานย่อยได้ในที่สุด นี่เป็นวิธีที่ดีในการแสดงการออกแบบซอฟต์แวร์สำหรับโปรแกรมเมอร์รุ่นเยาว์ที่อาจต่อสู้กับความพยายามในการออกแบบที่ใหญ่ขึ้นหรือเพื่อให้แน่ใจว่าคุณมีอัลกอริทึมที่ถูกต้องก่อนที่จะลงทุนในรายละเอียดในระดับต่ำมากเกินไป


การปฏิบัติของการใช้องค์ประกอบรหัสเหล่านี้จะถูกเรียกว่าstubbingหรือการสร้างโครงกระดูกรหัส


3
แม้ว่าฉันจะชอบคำศัพท์ของคุณดีขึ้น แต่ฉันคิดว่าคำว่า 'นั่งร้าน' ใน Ruby on Rails เป็นแนวคิดเดียวกัน
dcorking

ฉันยังคิดว่าต้นขั้วเป็นคำที่เหมาะสมสำหรับสิ่งนี้ แต่ไม่แน่ใจเพราะฉันได้รับการผลักดันกลับจากคนอื่นในงานของฉัน ขอขอบคุณ.
Brandon Arnold

มันเป็น "ต้นขั้ว" ถ้าทำในบริบททางวิชาการ ทำในบริบทของมืออาชีพ / ในเชิงพาณิชย์นั่นคือ "หนี้ทางเทคนิค"
aroth

10
@aroth ไม่ใช่หนี้ทางเทคนิคหากรหัสไม่ทำงาน - จะต้องมีการใช้งาน หนี้ทางเทคนิคหมายถึงรหัสที่เขียนไม่ดีซึ่งถูกใช้ในสภาพแวดล้อมการผลิตซึ่งหมายความว่าต้องใช้ความพยายามอย่างมากในการปรับโครงสร้างใหม่อย่างถูกต้อง ต้นขั้วจะต้องมีกรณีทดสอบที่ล้มเหลวดังนั้นจึงต้องมีการนำไปใช้และทดสอบก่อนที่จะถูกปล่อยให้ใช้งานจริง

2
@BrandonArnold: เมื่อพูดคุยกับวิทยาลัยของคุณคุณควรใช้คำที่พวกเขาเข้าใจ นอกเสียจากคุณจะเป็นเจ้านาย
เฮมเมอ

42

ฉันเคยเห็นคำว่า“ ต้นขั้ว ” ที่ใช้อยู่

ตัวอย่างเช่นฉันเชื่อว่าEclipseจะแทรกความคิดเห็นโดยอัตโนมัติ

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

เป็นที่น่าอับอายที่สร้างขึ้นโดยอัตโนมัติได้ดี

นอกจากนี้ยังทราบการใช้คำว่า“ต้นขั้ว” ในบริบทของการทดสอบหน่วย


2
"// TODO: stub วิธีการที่สร้างขึ้นโดยอัตโนมัติ" ฉันคิดว่า
immibis

มีประโยชน์อย่างแน่นอนที่จะรู้เรื่องนี้ . .
Brandon Arnold

17

ใน Visual Studio เมื่อเขียนโค้ด intellisense จะทำให้คุณมีตัวเลือก "สร้าง stub วิธีการใหม่" เมื่อคุณเลือกตัวเลือกนี้ Visual Studio จะสร้างรหัสสมบูรณ์ / โครงกระดูกของรหัสตรงตามที่คุณได้อธิบายไว้

Microsoft อ้างถึงสิ่งนี้เป็น stub ดังนั้นฉันจะเรียก stubs เหล่านี้ด้วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.