ฉันมักจะได้ยินคำว่า "ต้นขั้ว", "ต้นขั้วบางอย่างออก", "ต้นขั้ว" และอื่น ๆ
การขัดหมายถึงอะไรในการเขียนโปรแกรมและคำนั้นมาจากไหน สามารถใช้บริบทใดได้บ้าง
ฉันมักจะได้ยินคำว่า "ต้นขั้ว", "ต้นขั้วบางอย่างออก", "ต้นขั้ว" และอื่น ๆ
การขัดหมายถึงอะไรในการเขียนโปรแกรมและคำนั้นมาจากไหน สามารถใช้บริบทใดได้บ้าง
คำตอบ:
วิธีการต้นขั้วเป็นวิธีการที่เพิ่งจะส่งกลับผลลัพธ์ที่เรียบง่าย แต่ถูกต้อง (แต่ไม่จำเป็นต้องถูกต้อง) ผลลัพธ์
โดยทั่วไปจะทำเมื่อสร้างโครงสร้างพื้นฐานและคุณไม่ต้องการใช้เวลากับทุกวิธีที่จำเป็นในตอนนี้ แต่คุณสร้างสแต็คเพื่อให้ทุกอย่างรวบรวมและการเติมข้อมูลอัตโนมัติของ IDE รู้เกี่ยวกับวิธีการที่คุณวางแผนจะใช้
อีกสถานที่ที่ใช้สตับอยู่ในการเยาะเย้ยเมื่อทำการทดสอบคุณให้วิธีการสตับแทนการพึ่งพาปกติผ่านการฉีดพึ่งพาซึ่งส่งคืนผลลัพธ์ที่คงที่และจากนั้นตรวจสอบให้แน่ใจว่าโค้ดทำสิ่งที่ถูกต้องกับพวกเขา นี่เป็นการแยกการทดสอบกับรหัสที่คุณพยายามทดสอบและหมายความว่าคุณไม่จำเป็นต้องหมุนฐานข้อมูลเพื่อเรียกใช้การทดสอบเหล่านั้น
บางทีนี่อาจเป็นคำตอบที่ดีที่สุดด้วยตัวอย่างที่เป็นรูปธรรม ลองพิจารณากรณีที่คุณกำลังสร้างแอปพลิเคชันเดสก์ท็อป คุณได้ตัดสินใจที่จะมีฟังก์ชั่นการตั้งชื่อcreateMenubar
, createToolbar
และcreateMain
เพื่อให้ตัวสร้างโปรแกรมประยุกต์ของคุณเป็นระเบียบและเป็นระเบียบเรียบร้อย
รหัสหลักของคุณจะมีลักษณะดังนี้ (ตัวอย่างนี้เป็นไพ ธ อน):
class ExampleApp():
def __init__(self):
self.createMenubar()
self.createToolbar()
self.createMain()
ฟังก์ชั่นหลักของคุณจะทำงานล้มเหลวดังนั้นคุณจะทดสอบแอพระหว่างการพัฒนาได้อย่างไร ตัวอย่างเช่นถ้าคุณเริ่มต้นทำงานcreateMenubar
การเริ่มต้นจะล้มเหลวหลังจากที่สร้างแถบเมนูเนื่องจากคุณไม่ได้ใช้แถบเครื่องมือหรือพื้นที่หลักของ GUI
นี่คือสิ่งที่สตับเข้ามาคุณสามารถสร้างฟังก์ชั่นที่มีชื่อcreateToolbar
และcreateMain
ตอบสนองความต้องการของตัวสร้างแอป (กล่าวคือมีฟังก์ชั่นเหล่านี้) โดยไม่ต้องใช้งานจริง ฟังก์ชั่นเหล่านี้ไม่สมบูรณ์:
def createToolbar():
pass
def createMain():
pass
ด้วย stubs เหล่านั้นคุณสามารถเริ่มต้นใช้งานโปรแกรมหลักและแถบเมนูโดยไม่ต้องกังวลเกี่ยวกับรายละเอียดของแถบเครื่องมือหรือส่วนหลักของโปรแกรม ในที่สุดคุณจะย้ายไปที่แถบเครื่องมือและแทนที่ต้นขั้วด้วยฟังก์ชันจริง และในที่สุดคุณจะลบต้นขั้วcreateMain
และนำไปใช้จริง
โปรดทราบว่าไม่จำเป็นต้องทำอะไรไม่สมบูรณ์ ตัวอย่างเช่น stub เหล่านี้สามารถสร้างวิดเจ็ตคอนเทนเนอร์เปล่าที่ตัวสร้างแอปสามารถจัดวางได้ ประเด็นก็คือคุณสร้างฟังก์ชั่นจำลองหรือวัตถุที่ทำพอที่จะให้โค้ดอื่นทำงานในขณะที่คุณกำลังพัฒนา เมื่อเวลาผ่านไปคุณแทนที่สตับทีละตัวจนกว่าใบสมัครของคุณจะเสร็จสมบูรณ์
"stub" ถูกใช้ในการเขียนโปรแกรม "top down" นั่นคือเมื่อคุณกำลังสร้างแอปพลิเคชันของคุณจากทั่วไปไปยังที่เฉพาะเจาะจง ในการดำเนินการดังกล่าวคุณจะใช้ "ต้นขั้ว" เป็น "ตัวยึด" สำหรับแอปพลิเคชันเฉพาะที่คุณไม่มีเวลาสร้าง พวกเขามักจะคืนสิ่งต่าง ๆ เช่นค่าหุ่นหรือค่าสุ่มไปยังส่วนทั่วไปของโปรแกรม ไม่เป็นไรส่วนต้นขั้วจะให้คุณค่าเพียงพอที่จะทำให้ส่วน "อาวุโส" ของโปรแกรมทำงานได้มากขึ้น จนกว่าจะถึงเวลาที่จะเปลี่ยนหรือติดตั้งต้นขั้วกับการคำนวณหรือมูลค่าที่แท้จริง