เหตุใดการอ้างอิงรหัสข้อผิดพลาดในโน้ตแพตช์จึงถือเป็นข้อปฏิบัติที่ไม่ดี


28

ขึ้นอยู่กับความคิดเห็นและ upvotes ที่ตามมาจากBug เปิดใหม่กับใหม่ :

การอ้างถึง bug IDs ใน patch notes เป็นเพียงแค่ .. ไม่เป็นมิตรมาก - Krelp

อย่างน้อยบางคนรู้สึกว่าการอ้างอิงบั๊กในการแก้ไขโน้ตไม่ใช่ความคิดที่ดี ฉันเป็นผู้พัฒนาที่ไม่มีประสบการณ์พอสมควรดังนั้นฉันจึงสงสัยว่าเพราะอะไร


27
ไม่ได้อ้างถึง bug IDs ในหมายเหตุการแก้ไขเป็นเพียง ... ไม่เป็นมืออาชีพมาก ชนิดของการทิ้งขยะทั้งจุดที่มีปัญหาการติดตาม
gnat

เหตุผลเดียวกับที่โพสต์เพียงการเชื่อมโยงเป็นคำตอบ StackExchange ขมวดคิ้ว - ถ้าคุณเพียงโพสต์ลิงค์ใน SE ที่ไม่ดีเพราะ (1) ต้องมีต่อไปนี้จะได้รับการคำอธิบายและ (2) อาจจะกลายเป็นไม่ถูกต้องในอนาคตถ้าที่ ลิงค์ตายหรือเปลี่ยนแปลงเนื้อหา ในทำนองเดียวกันการวางเพียงรหัสข้อผิดพลาดในโน้ตแพทช์ (1) ต้องไปติดตามข้อผิดพลาดที่จะได้รับคำอธิบายและ (2) อาจจะกลายเป็นที่ไม่ถูกต้องในอนาคตหากมีการเปลี่ยนแปลงระบบการติดตามข้อผิดพลาด รวมทั้งการเชื่อมโยงในคำตอบที่ SE หรือรหัสข้อผิดพลาดในการบันทึกแพทช์ดี (และการปฏิบัติที่ดีจริง) เป็นนอกจากจะเป็นคำอธิบายที่ปกติ
Ben Lee

คำตอบ:


51

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

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


คุณสามารถอ้างอิงผ่านตัวแก้ไขการอ้างอิงที่เป็นนามธรรมหรือการเปลี่ยนเส้นทาง URL
Donal Fellows

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

5
@StuperUser - ID และชื่อที่ต่ำสุด
Oded

สิ่งที่น่ารำคาญคือการหาสัญลักษณ์ข้อบกพร่อง ID ในความคิดเห็นเมื่อระบบข้อผิดพลาด / รหัสความต้องการอ้างอิงไม่ได้ใช้งานอีกต่อไป
jfrankcarr

14

มันเป็นอย่างที่กล่าวไว้ในความคิดเห็นที่ยกมา ... ไม่เป็นมิตร

เป็นมิตรกับตัวเอง

ลองนึกภาพสถานการณ์ต่อไปนี้ คุณกำลังดูบันทึกในการควบคุมแหล่งที่มา คุณกำลังสงสัยว่าการกระทำที่เปลี่ยนไป แทนที่จะอธิบายเป็นภาษาอังกฤษธรรมดามันจะบอกคุณ:

แก้ไข # 1307

คุณเรียกใช้ระบบติดตามบั๊กโดยหวังว่าจะมีสิ่งที่เป็นประโยชน์ รายงาน Bug # 1307 ว่าแก้ไขแล้ว ในคำอธิบายคุณจะเห็น:

ข้อผิดพลาดเช่นเดียวกับ # 1284

ขอบคุณมันมีประโยชน์มาก ตอนนี้คุณต้องไปที่รายงานข้อผิดพลาด # 1284 เพื่ออ่านว่าเป็นข้อผิดพลาดซ้ำ # 1113 ซึ่งหมายถึงข้อบกพร่อง # 1112, # 1065 และ # 1067

ห้านาทีต่อมาคุณไม่รู้ว่าคุณกำลังค้นหาอะไรในตอนเริ่มต้น

ที่เป็นประโยชน์มากขึ้นการควบคุมเวอร์ชันข้อความบันทึกจะเป็น:

แก้ไขปัญหาเกี่ยวกับผู้ใช้ที่ไม่สามารถเข้าสู่ระบบด้วยรหัสผ่านที่ยาวเกิน 25 ตัวอักษร (ดู # 1307) โดยลบการใช้นโยบายความยาวรหัสผ่านเดียวกันกับชั้นการเข้าถึงข้อมูลเช่นเดียวกับที่ใช้ในเว็บไซต์

ในทำนองเดียวกันในระบบติดตามบั๊กรายงาน # 1307 อาจอธิบายตนเองได้มากขึ้นโดยนึกถึงสิ่งที่รายงานบั๊ก # 1284 เกี่ยวกับและสิ่งใหม่ที่แตกต่างจากเดิม

ไม่เป็นมิตรกับลูกค้า

นี่ไม่ใช่ปัญหาที่เป็นมิตรเท่านั้น

หนึ่งที่สองคือโดยการอ้างอิงมากเกินไปโดยไม่มีข้อมูลเพิ่มเติมที่คุณจะทำให้โน้ตแพทช์ / บันทึกการควบคุมเวอร์ชัน / ระบบติดตามรายงานข้อผิดพลาดที่ใช้ไม่ได้ที่จะมีคนไม่คุ้นเคยกับระบบเหล่านั้น เมื่อคุณจัดการกับระบบติดตามบั๊กทุกวันคุณจะรู้วิธีการนำทางอย่างรวดเร็วในรายงานดูรายงานหลาย ๆ แบบเคียงข้างกัน ฯลฯ เมื่อคุณเป็นลูกค้าที่ไม่มีพื้นฐานด้านเทคนิคคุณจะหลงทางได้ง่าย

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


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


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

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

1
@StuperUser: แน่นอน การให้คำอธิบายช่วยให้ผู้ที่ต้องการทราบว่ารายงานเกี่ยวกับบันทึก / โปรแกรมแก้ไข / ข้อผิดพลาดนั้นเกี่ยวกับอะไรโดยไม่ใช้เวลาสิบนาทีในการอ่านเนื้อหาที่อ้างอิง ยังคงต้องใช้ ID สำหรับการติดตามและผู้ที่ต้องการข้อมูลที่ละเอียดแม่นยำและครบถ้วน
Arseni Mourzenko

2

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

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


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

2

เห็นได้ชัดว่ามันขึ้นอยู่กับคนที่จะอ่านบันทึกย่อของแพทช์และผู้ใช้เป้าหมายของซอฟต์แวร์

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

การอ้างอิง bug IDs ทำให้ฉันหยุดและคิดและฉัน - ในฐานะผู้ใช้ - ไม่ต้องการคิด มันเป็นปัญหาการใช้งาน

ลองดูตัวอย่างที่บันทึกการเปลี่ยนแปลงของภาพ Assist X รหัสข้อผิดพลาดที่เชื่อมโยงทั้งหมดเป็นเพียงเสียงรบกวนที่ทำให้ฉันหันเหความสนใจจากสิ่งที่เปลี่ยนแปลงไป และนี่คือส่วนเสริมสำหรับ Visual Studio ซึ่งกำหนดเป้าหมายไปที่โปรแกรมเมอร์ และฉันเป็นโปรแกรมเมอร์ หากสิ่งนี้ทำให้ฉันรำคาญใจลองนึกภาพผู้ใช้โดยเฉลี่ยที่ไม่รู้ด้วยซ้ำว่าตัวติดตามบั๊กคืออะไร ..

PS: ฉันเป็นผู้เขียนความคิดเห็นที่จุดประกายคำถาม


1
สุจริตฉันพบเอกสารท้ายลิงค์ที่เป็นประโยชน์ มันเริ่มต้นด้วยการสรุปแล้วนำฉันไปสู่รายละเอียด Microsoft มักจะทำการเชื่อมโยงที่คล้ายกันในบทความ KB ไม่ใช่ว่าการกระทำของพวกเขาทำให้เป็นการปฏิบัติที่ดี แต่ก็เป็นที่แพร่หลายและเห็นได้ชัดว่าให้คุณค่าแก่ผู้ใช้หลายคน
Joshua Drake

1

ให้มีรหัสข้อผิดพลาดคือบังคับสำหรับจุดอ้างอิง เหตุผล:

  • ป้องกันความกำกวม:ข้อบกพร่องสองข้อขึ้นไปอาจมีคำอธิบายที่คล้ายกัน ดังนั้นเราจะต้องการสมอเรือเพื่อแยกแยะความแตกต่างระหว่างพวกเขา
  • ความสะดวกสบาย : เมื่อพูดถึงข้อบกพร่องทั้งกับลูกค้าหรือภายใน ID ข้อผิดพลาดมักจะใช้เป็นรูปแบบสั้น ๆ ถ้า ID จะถูกตัดออกจากบันทึกย่อของแพทช์จะเป็นการยากที่จะพูดคุยเกี่ยวกับพวกเขา:

3052 ได้รับการแก้ไขแล้วและยังคงใช้งานได้ใน 3077

สะดวกกว่า:

แก้ไข "ความผิดพลาดของแอปพลิเคชันบนปุ่มใช้" ได้รับการแก้ไขแล้วยังคงทำงานกับ "NullReferenceException เมื่อคลิกเปลี่ยนผู้ใช้"


(1) อะไรทำให้คุณไม่สามารถรวมมันได้ตามที่ MainMa แนะนำ (2) ทำไมคุณตอบบั๊กที่ถูกแก้ไขหนึ่งตัวครึ่งตัว ทำไมคุณไม่กระทำหลังจาก 3052 ได้รับการแก้ไขก่อนที่คุณจะเริ่มทำงานกับ 3077
JensG

0

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

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

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