ข้อใดจะดีกว่าสำหรับการแก้ไขข้อบกพร่องเล็ก ๆ และคุณสมบัติขนาดเล็ก - ตั้งชื่อสาขาตามหมายเลขตั๋วหรือตั้งชื่อพวกเขาตามคำอธิบายคุณลักษณะ?


10

ฉันอยู่ในช่วงกลางของความไม่ลงรอยกัน (แน่นอน) ด้วยความเป็นผู้นำของฉันเกี่ยวกับการตั้งชื่อสาขาที่เหมาะสม สิ่งนี้ใช้กับสาขาการแก้ไขข้อบกพร่องและสาขาคุณลักษณะขนาดเล็กไม่ใช่สาขาคุณลักษณะระยะยาว สำหรับสาขาคุณลักษณะที่ใช้เวลานานเรายอมรับว่าชื่อที่มนุษย์อ่านได้ดีกว่า ต่อไปนี้เป็นมุมมองสองประการ:

เหมืองแร่:

การตั้งชื่อสาขาตามทีมและหมายเลขตั๋วจะดีกว่า มันทำให้ง่ายต่อการค้นหาในระบบตั๋วของเราและพิมพ์ให้สั้นลง นอกจากนี้ยังช่วยให้ค้นหาสาขาที่เกี่ยวข้องใน GIT ได้ง่ายขึ้นเมื่อค้นหาข้อมูลประวัติเกี่ยวกับตั๋ว

ตัวอย่าง:

team-name/12345
team-name/53719

ของพระองค์

การตั้งชื่อสาขาตามคุณสมบัติ / ฟังก์ชั่น มันทำให้การเติมข้อความอัตโนมัติง่ายขึ้นและจดจำได้ง่ายกว่าตัวเลขแต่ละตัว

ตัวอย่าง:

team-name/fix-that-sql-bug
team-name/expand-http-parser

การประนีประนอมอย่างหนึ่งที่ฉันเสนอคือ:

team-name/12345-fix-that-sql-bug

แต่เขาไม่ชอบสิ่งนี้เพราะมันยุ่งกับการเติมข้อความอัตโนมัติของ GIT

หากนี่คือพื้นฐานความคิดเห็นโปรดอย่าลังเลที่จะให้คำแนะนำฉันเกี่ยวกับวิธีการนี้เหมาะสำหรับ SO - แต่ฉันคิดว่าเหตุผลที่ฉันให้สามารถแก้ไข / เพิ่มเติมเพื่อให้คำตอบเชิงประจักษ์


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

คำตอบ:


5

ในกรณีนี้ดูเหมือนว่าคุณสามารถประนีประนอมกับแบบแผนการตั้งชื่อที่มีทั้งจำนวนและรายละเอียด:

ตัวอย่าง:

ทีมชื่อ / (12345) -fix ที่-SQL-ข้อผิดพลาด

ทีมชื่อ / (53719) -expand-http-parser

ที่นี่ไม่มีคำตอบที่ถูกต้องจริงๆมันเป็นอัตนัยขึ้นอยู่กับมุมมองของคุณ

แต่ถ้าคุณประนีประนอมทั้งคู่คุณจะได้รับสิ่งที่ดีที่สุดทั้งสองโลก ฉันพยายามเก็บเรื่องนี้ไว้ในใจเมื่อเรามีความขัดแย้งกันในทีมของฉัน

แก้ไข:

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


ฉันเห็นด้วยและฉันเพิ่มสิ่งนี้ - ฉันคิดว่ามันโง่ที่จะไม่เห็นด้วยกับการประนีประนอมนี้
Codeman

การเติมข้อความอัตโนมัติใช้งานได้เฉพาะจากจุดเริ่มต้นของชื่อสาขาหรือไม่ คุณสามารถใส่รหัสที่ท้าย? ฉันไม่ได้ใช้ฟังก์ชั่นเติมข้อความอัตโนมัติดังนั้นฉันจึงไม่คุ้นเคย
dmck

ใช่มันทำงานตั้งแต่ต้นจนจบ - ถ้าคุณต้องการให้team-name/12345-my-ticket-fixคุณพิมพ์team-name/123TAB โดยพื้นฐานแล้ว
Codeman

@ Pheonixblade9 ดูการแก้ไขของฉันเพื่อหาวิธีแก้ปัญหาที่เป็นไปได้การใส่ (ก่อน ID ควรป้องกันไม่ให้คุณต้องรู้ ID เมื่อพิมพ์ชื่อสาขา
dmck

1

ไม่สำคัญตราบใดที่มีระบบที่สอดคล้องกันซึ่งทุกคนเห็นด้วยและเข้าใจ

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

team-name/bug-that-has-specific-circumstances-to-occur-and-takes-alot-to-describe


0

การตั้งชื่อบางอย่างเพื่อใช้ประโยชน์จากการเติมข้อความอัตโนมัตินั้นโง่

ฉันยอมรับว่าลิงก์ไปยังตัวติดตามข้อผิดพลาดมีความสำคัญ (สำคัญกว่าชื่อที่ดีเนื่องจากระบุปัญหาที่แก้ไขได้โดยสาขาที่ไม่ได้ใช้คำสองคำ) แต่ในเวลาเดียวกันความล้มเหลวในการใช้งานของผู้คน เพื่อทราบความแตกต่างระหว่างข้อผิดพลาด # 7312 และ # 7213 นอกจากนี้ยังเป็นความล้มเหลวที่จะคาดหวังว่าผู้คนจะได้ตัวเลขอย่างถูกต้องทุกครั้ง - วันหนึ่งมีคนทำผิดสาขาเพราะพวกเขาอ่านผิด / ผิด 7312 สำหรับ 7213 (ใครบางคนในทีมของฉันทำอย่างนั้นวันนี้!)

ดังนั้นให้ทำทั้งสองหมายเลขสาขาและเพิ่มคำอธิบายข้อความสั้น ๆ เพียงเพื่อทำหน้าที่ตรวจสอบ ฉันจะใส่หมายเลขก่อน - การเติมข้อความอัตโนมัติจะถูกสาป - เนื่องจากคุณยังต้องรู้ข้อความของสาขาอยู่ดี (เช่น "bug-fix-for-server" หรือ "fix-bug-for-server" - คุณยังต้องรู้ ถ้ามันเริ่มต้นด้วย f หรือ b!)

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