เพื่อนร่วมงานไม่เคยได้ยินเรื่องนี้และฉันไม่สามารถให้คำจำกัดความที่แท้จริงได้ สำหรับฉันมันเป็นตัวอย่างของ 'ฉันรู้ว่ามันเมื่อฉันเห็นมัน'
คำถามโบนัสใครเป็นผู้สร้างเทอม
เพื่อนร่วมงานไม่เคยได้ยินเรื่องนี้และฉันไม่สามารถให้คำจำกัดความที่แท้จริงได้ สำหรับฉันมันเป็นตัวอย่างของ 'ฉันรู้ว่ามันเมื่อฉันเห็นมัน'
คำถามโบนัสใครเป็นผู้สร้างเทอม
คำตอบ:
"รหัสสำเร็จรูป" เป็นรหัสซ้ำ ๆ ที่ปรากฏขึ้นซ้ำแล้วซ้ำอีกเพื่อให้ได้ผลลัพธ์ที่ดูเหมือนว่าควรจะง่ายกว่ามาก
มันเป็นคำนิยามที่เป็นอัตวิสัย
คำนี้มาจาก "สำเร็จรูป" ในอุตสาหกรรมหนังสือพิมพ์: วิกิ
ในนิรุกติศาสตร์คำว่าสำเร็จรูป : จากhttp://www.takeourword.com/Issue009.html ...
สิ่งที่น่าสนใจนั้นเกิดขึ้นจากธุรกิจหนังสือพิมพ์ คอลัมน์และชิ้นส่วนอื่น ๆ ที่มีการเผยแพร่ถูกส่งไปยังหนังสือพิมพ์ที่สมัครเป็นสมาชิกในรูปแบบของเสื่อ (เช่นเมทริกซ์) เมื่อได้รับสารตะกั่วจะถูกเทลงในเสื่อนี้เพื่อสร้างแผ่นที่ใช้พิมพ์ชิ้นงานดังนั้นชื่อสำเร็จรูป เมื่อบทความที่พิมพ์ลงบนสำเร็จรูปไม่สามารถแก้ไขได้คำศัพท์นี้จะถูกใช้โดยทนายความเพื่ออ้างถึงส่วนต่าง ๆ ของสัญญาซึ่งไม่ได้เปลี่ยนไปจากการใช้งานซ้ำ ๆ ในแอพพลิเคชั่นที่แตกต่างกันและในที่สุดก็เป็นภาษาทั่วไป เอกสารใด ๆ ที่ใช้ซ้ำ ๆ สำหรับโอกาสต่าง ๆ
อะไรคือส่วนประกอบของโปรแกรมสำเร็จรูป? ตามที่คนอื่น ๆ อาจชี้ให้เห็นมันเป็นเพียงโค้ดอันหนึ่งที่ถูกคัดลอกซ้ำแล้วซ้ำอีกโดยมีการเปลี่ยนแปลงเพียงเล็กน้อยหรือไม่มีเลยในกระบวนการ
รหัส Boilerplate หมายถึงชิ้นส่วนของรหัสที่สามารถใช้ได้ซ้ำแล้วซ้ำอีก ในทางกลับกันใคร ๆ ก็สามารถบอกได้ว่ามันเป็นรหัสที่สามารถใช้ซ้ำได้
คำที่จริงมาจากอุตสาหกรรมเหล็ก
นิด ๆ หน่อย ๆ ของประวัติศาสตร์ตามที่วิกิพีเดีย :
ในยุค 1890 สำเร็จรูปถูกหล่อหรือประทับในโลหะพร้อมสำเร็จรูปสำหรับพิมพ์และแจกจ่ายให้กับหนังสือพิมพ์ทั่วสหรัฐอเมริกา จนถึงปี 1950 มีหนังสือพิมพ์หลายพันฉบับที่ได้รับและใช้แผ่นเหล็กชนิดนี้จากผู้ผลิตหนังสือพิมพ์รายใหญ่ที่สุดของประเทศ บริษัท บางแห่งก็ส่งข่าวประชาสัมพันธ์เป็นสำเร็จรูปเพื่อให้พวกเขาต้องพิมพ์ตามที่เขียนไว้
ตอนนี้ตามWikipedia :
ในโปรแกรมเชิงวัตถุคลาสมักมีวิธีการรับและตั้งค่าตัวแปรอินสแตนซ์ คำจำกัดความของวิธีการเหล่านี้มักจะถูกมองว่าเป็นสำเร็จรูป แม้ว่ารหัสจะแตกต่างกันไปจากคลาสหนึ่งไปยังอีกคลาสหนึ่งมันมีโปรเฟสเซอร์เพียงพอในโครงสร้างที่มันจะสร้างได้ดีกว่าโดยอัตโนมัติกว่าเขียนด้วยมือ ตัวอย่างเช่นในคลาส Java ต่อไปนี้ที่แสดงถึง pet รหัสเกือบทั้งหมดเป็น boilerplate ยกเว้นการประกาศของ Pet ชื่อและเจ้าของ:
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; } }
มันเป็นรหัสที่สามารถใช้งานได้หลายแอพพลิเคชั่น / บริบทที่มีการเปลี่ยนแปลงเพียงเล็กน้อยหรือไม่มีเลย
หม้อไอน้ำมาจากอุตสาหกรรมเหล็กในช่วงต้นปี 1900
จากวิกิพีเดีย :
ในการเขียนโปรแกรมคอมพิวเตอร์ boilerplate เป็นคำที่ใช้อธิบายส่วนของรหัสที่ต้องรวมอยู่ในหลาย ๆ ที่ที่มีการเปลี่ยนแปลงเพียงเล็กน้อยหรือไม่มีเลย มันถูกใช้บ่อยขึ้นเมื่ออ้างถึงภาษาที่ได้รับการพิจารณาอย่างละเอียดเช่นโปรแกรมเมอร์ต้องเขียนโค้ดจำนวนมากเพื่อทำงานให้น้อยที่สุด
ดังนั้นโดยทั่วไปคุณสามารถพิจารณารหัสสำเร็จรูปเป็นข้อความที่ต้องการโดยภาษาการเขียนโปรแกรมบ่อยมากทั่วโปรแกรมที่คุณเขียนในภาษานั้น
ภาษาสมัยใหม่พยายามลด แต่ภาษาเก่าที่มีตัวตรวจสอบประเภทเฉพาะ (เช่น OCaml มีตัวพิมพ์เล็ก ๆ น้อย ๆ ที่อนุญาตให้คุณหลีกเลี่ยงการประกาศจำนวนมากที่จะเป็นรหัสสำเร็จรูปในภาษา verbose เช่น Java)
Boilerplate เป็นสิ่งที่โปรแกรมเมอร์ที่ดีหลีกเลี่ยง: การทำซ้ำ
public static void main(String[] _)
อย่างไร
Boilerplate ในการพัฒนาซอฟต์แวร์อาจหมายถึงสิ่งที่แตกต่างสำหรับคนต่าง ๆ แต่โดยทั่วไปหมายถึงกลุ่มของรหัสที่ใช้ซ้ำแล้วซ้ำอีก
ในหมายถึงการพัฒนากองคำนี้หมายถึงการสร้างรหัสผ่านการใช้แม่แบบ ง่ายกว่าการเขียนโค้ดแอปพลิเคชันทั้งหมดด้วยตัวเองและทำให้โค้ดบล็อกมีความสอดคล้องและมีข้อผิดพลาดน้อยลงเนื่องจากเป็นโค้ดที่สะอาดทดสอบและพิสูจน์แล้วและเป็นโอเพ่นซอร์สดังนั้นจึงมีการปรับปรุงหรือแก้ไขอย่างต่อเนื่อง กรอบหรือตัวสร้างรหัส สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสแต็คหมายถึงคลิกที่นี่
ในทางปฏิบัติรหัสสำเร็จรูปเป็นสิ่งที่คุณตัดวางทั่วทุกที่ บ่อยครั้งที่มันจะเป็นสิ่งต่าง ๆ เช่นส่วนหัวของโมดูลรวมถึงการประกาศมาตรฐาน / ที่จำเป็นบางส่วน (ทุกโมดูลต้องประกาศตัวบันทึกทุกโมดูลจะต้องประกาศตัวแปรสำหรับชื่อและการแก้ไข ฯลฯ ) ในโครงการปัจจุบันของฉันเรากำลังเขียนเครื่องมือจัดการข้อความ และพวกเขาทั้งหมดมีโครงสร้างเดียวกัน (อ่านข้อความ, ตรวจสอบ, ประมวลผล) และเพื่อกำจัดการพึ่งพาระหว่างตัวจัดการที่เราไม่ต้องการให้พวกมันทั้งหมดได้รับมรดกจากคลาสฐานดังนั้นเราจึงสร้างโครงกระดูกสำเร็จรูป มันประกาศตัวแปรรูทีนทั้งหมดวิธีมาตรฐานข้อผิดพลาดในการจัดการเฟรมเวิร์ก - สิ่งที่ผู้พัฒนาต้องทำคือเพิ่มรหัสเฉพาะข้อความที่กำลังจัดการ มันจะใช้งานง่ายและรวดเร็ว
คำจำกัดความหม้อไอน้ำกำลังเป็นที่นิยมทั่วโลกในหลาย ๆ ภาษาโปรแกรมในปัจจุบัน มันมาจาก OOP และภาษาไฮบริดที่ได้กลายเป็น OOP และก่อนหน้านี้ตอนนี้มีเป้าหมายเดียวกันเพื่อให้ทำซ้ำรหัสที่คุณสร้างด้วยโมเดล / เทมเพลต / คลาส / วัตถุดังนั้นจึงปรับคำนี้ คุณสร้างเทมเพลตและสิ่งเดียวที่คุณทำสำหรับแต่ละอินสแตนซ์ของเทมเพลตคือพารามิเตอร์เพื่อทำให้วัตถุเป็นชิ้นส่วนนี้เป็นสิ่งที่เราเรียกว่าสำเร็จรูป คุณเพียงแค่ใช้รหัสที่คุณสร้างเทมเพลตอีกครั้งโดยใช้พารามิเตอร์ที่แตกต่างกัน
คำพ้องความหมาย
พิมพ์เขียวเป็นสำเร็จรูป
เป็นลายฉลุเป็นแผ่นสำเร็จรูป
ส่วนท้ายเป็น
รูปแบบการออกแบบสำหรับการใช้งานหลายครั้งเป็นแผ่นสำเร็จรูป
ลายเซ็นของจดหมายเป็นสำเร็จรูป
Joshua Blochมีการพูดคุยเกี่ยวกับการออกแบบ APIที่ครอบคลุมถึงวิธีการที่ไม่ดีทำให้จำเป็นต้องมีรหัสสำเร็จรูป (นาทีที่ 46 สำหรับการอ้างอิงไปยังแผ่นสร้างเสียงฟังวันนี้)
ในเทคโนโลยีสารสนเทศแผ่นข้อมูลสำเร็จรูปเป็นหน่วยการเขียนที่สามารถนำกลับมาใช้ซ้ำได้โดยไม่มีการเปลี่ยนแปลง โดยการขยายบางครั้งความคิดนั้นถูกนำไปใช้กับการเขียนโปรแกรมที่สามารถนำกลับมาใช้ใหม่ได้เช่นเดียวกับใน "รหัสสำเร็จรูป" คำนี้มาจากการผลิตเหล็กที่แผ่นเหล็กรีดร้อนเป็นแผ่นใหญ่สำหรับใช้ในหม้อไอน้ำ ความหมายก็คือว่าการเขียนแผ่นความร้อนได้รับการทดสอบตามเวลาและมีความแข็งแกร่งในฐานะ "เหล็ก" หรืออาจเป็นไปได้ว่ามีการแผ่ออกเป็นสิ่งที่แข็งแรงพอที่จะนำกลับมาใช้ซ้ำได้
นอกเหนือจากการเขียนโปรแกรม:
สามารถเปรียบเทียบสำเร็จรูปสำเร็จรูปกับเทมเพลตบางประเภทซึ่งสามารถคิดได้ว่าเป็นไอเท็มสำเร็จรูปที่เติมลงในช่องว่าง เทมเพลตต้นแบบบางอย่างประกอบด้วย: คำแถลงภารกิจคำเตือนด้านความปลอดภัยขั้นตอนการติดตั้งที่ใช้กันทั่วไปข้อความลิขสิทธิ์และการปฏิเสธความรับผิดชอบ
จากประสบการณ์ของฉันในฐานะโปรแกรมเมอร์โค้ดที่เหมาะสมในการสร้างรหัสมักจะเป็นรหัสที่คุณเริ่มด้วยรหัสที่ไม่ใหญ่และ / หรือซับซ้อนพอที่จะเรียกว่าเฟรมเวิร์ก
ตัวอย่างทั่วไปจะเป็นHTML5 Boilerplate
คุณสามารถอ้างถึงมันเป็น "ตัวอย่าง" หรือ "คอลเลกชันตัวอย่าง" ที่แม่นยำยิ่งขึ้น คำที่ฉันคิดว่าเป็นคำประกาศเกียรติคุณจากอุตสาหกรรมการพิมพ์และการพิมพ์ที่พวกเขาใช้ "เพลท" จริง ๆ จากนั้นนำกลับมาใช้อีกครั้งเป็นชิ้น ๆ อีกครั้งในอินเทอร์เน็ตยุคใหม่มันเป็นส่วนหนึ่งของแนวโน้มการใช้ IMHO ที่น่ารำคาญ คำศัพท์แฟนซีสำหรับสิ่งที่เรียบง่ายเพื่อให้ดูทันสมัยและซับซ้อนยิ่งขึ้น ดู RESPONSIVE = ที่ปรับได้ / ของเหลว
WinMain
ฟังก์ชั่นในแอพ Win32; มันลงทะเบียนคลาสหน้าต่างของแอปสร้างหน้าต่างหลักรันลูปเหตุการณ์และส่งคืนรหัสออกของโพรซีเดอร์หน้าต่าง ฟังก์ชั่นนั้นมักจะไม่เปลี่ยนแปลงมากนักระหว่างแอพและสามารถนำกลับมาใช้ใหม่ได้ด้วยการปรับเปลี่ยนที่ค่อนข้างน้อย แต่ก็ไม่ได้มีการทำเป็นกิจวัตรประจำวันมากนัก
สำเร็จรูปเป็นหน่วยการเขียนที่สามารถนำมาใช้ซ้ำแล้วซ้ำอีกโดยไม่มีการเปลี่ยนแปลง โดยการขยายความคิดบางครั้งถูกนำไปใช้กับการเขียนโปรแกรมนำมาใช้ใหม่เช่นเดียวกับใน“ รหัสสำเร็จรูป