จะทำอย่างไรกับปัญหาที่ถูกทอดทิ้งใน GitHub?


48

หากมีคนเปิดปัญหาใน GitHub แต่มีการขอข้อมูลเพิ่มเติมเพื่อทำซ้ำข้อผิดพลาดและไม่เคยได้รับขั้นตอนปกติคืออะไร ตัวอย่าง

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

สิ่งที่ชอบเงื่อนไขเหล่านี้:

  • มีการตั้งคำถามกับปัญหาเพื่อให้สามารถดีบักได้
  • ผ่านไปแล้ว 2-6 เดือนนับตั้งแต่คำถาม / ความคิดเห็นที่ยังไม่ได้ตอบล่าสุดจากทีม dev
  • ข้อผิดพลาดไม่สามารถทำซ้ำได้ในขณะที่ปิดมัน (ไม่ว่าจะด้วยเหตุผลใดก็ตามพวกเขาอาจไม่สามารถทำซ้ำได้)
  • คำเตือนจะออก 2 สัปดาห์ก่อนที่จะปิดมัน

โครงการปกติทำอะไร? ฉันไม่พบสิ่งใดใน Google นอกจากนี้ฉันจะทำเอกสารนี้อย่างไร หมายเหตุง่ายๆใน README.md ให้รายละเอียดคะแนนด้านบนและความคิดเห็นในปัญหาอธิบายว่าเพราะเหตุใดจึงปิดตัวลงเพียงพอหรือไม่

หมายเหตุ: มันแตกต่างจากคำถามนี้เนื่องจากข้อผิดพลาดอาจยังเกี่ยวข้อง (หรือไม่) อย่างไรก็ตามมีข้อมูลไม่เพียงพอ


3
ฉันเชื่อว่าคุณควรทำเอกสารบางแห่งที่คุณเชื่อว่าปัญหาได้รับการแก้ไขแล้ว (แต่อาจไม่ใช่ในREADME.md) อย่างไรก็ตามคำถามของคุณอาจเป็นเรื่องของความคิดเห็น
Basile Starynkevitch

17
หากไม่สามารถติดต่อผู้ส่งปัญหาเพื่อยืนยันว่าได้รับการแก้ไขแล้วฉันจะปิดปัญหาโดยมีความคิดเห็นว่าการแก้ไขนั้นไม่ได้รับการยืนยันโดยผู้ส่งดั้งเดิมหลังจากพยายามติดต่อเขามาประมาณ หนึ่งเดือน. แต่นั่นเป็นเพียงความคิดเห็นของฉัน
Bart van Ingen Schenau

1
@BasileStarynkevitch ขอโทษฉันหมายถึงเอกสารใน README.md ขั้นตอนนี้ เกี่ยวกับการปิดปัญหาฉันจะบันทึกไว้ในปัญหาด้วยตัวเอง
Francisco Presencia


7
ไม่ข้อผิดพลาดที่ไม่เกี่ยวข้องอีกต่อไปจะไม่เหมือนกับข้อบกพร่องซึ่งมีการแก้ไขอยู่ แต่นักข่าวไม่ตอบกลับ
dcorking

คำตอบ:


49

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

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

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


1
ตอนนี้ฉันตรวจสอบแล้วมันก็บอกว่า "ผู้ใช้ที่ถูกลบ" ในโปรไฟล์ผู้ใช้ ... ดังนั้นฉันเดาว่าGhostจะไม่ตอบ ขอบคุณสำหรับคำตอบฉันจะปิดด้วยแท็กที่กำหนดเอง
Francisco Presencia

34
ดูเหมือนจะไม่สามารถผลิตได้ คุณสามารถทำซ้ำปัญหาจากรายละเอียดในตั๋วได้หรือไม่? ไม่มี? Unreproducible
ABMagil

1
ใน Bugzilla ไวน์มีสถานะพิเศษละทิ้ง: ตัวอย่าง
Ruslan

'ไม่ถูกต้อง' เป็นสถานะทั่วไปที่ดีอีกประเภทหนึ่ง ใน GitHub สามารถเพิ่มเป็นป้ายกำกับและปิดปัญหาได้ในภายหลัง
Caterpillar

2
ปิดเป็น "AbandonedByOpener" หรือ "RequiredInformationMissing" นั่นคือสิ่งที่เกิดขึ้น และทุกคนสามารถเห็นได้อย่างชัดเจนว่าทำไมคุณถึงไม่จัดการปัญหานี้
usr

12

คำถามหลักของคุณได้รับคำตอบแล้ว แต่คุณถามเกี่ยวกับขั้นตอนการทำเอกสารและต้องตอบด้วย

โซลูชันที่ฉันเห็นในหลาย ๆ โครงการไม่ได้ใส่ไว้ใน README.md ของโครงการ แต่เป็นการสนับสนุนพิเศษREADME - ไฟล์ README สำหรับผู้มีส่วนร่วม ไฟล์นี้จะอธิบายทุกสิ่งที่คุณต้องการให้คนที่มีส่วนร่วมในโครงการของคุณรู้ไม่ว่าจะเป็นเกี่ยวกับรหัส (แบบแผนการตั้งชื่อองค์กรโมดูล ฯลฯ ) หรือเกี่ยวกับกระบวนการ (วิธีเขียนคำมั่นสัญญาวิธีจัดการตั๋ว ฯลฯ ) ไฟล์นี้สามารถเป็น.MDไฟล์อื่นในโครงการหรือวางในพื้นที่เก็บข้อมูลที่แตกต่างกันอย่างสิ้นเชิง (เพื่อให้สามารถใช้ร่วมกันในโครงการทั้งหมดของคุณ) อย่าลืมลิงค์จากหลักREADME.md!

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

โปรดทราบว่าผู้ใช้สามารถเปิดบั๊กได้ดังนั้นหากคุณมีความต้องการพิเศษเกี่ยวกับการเปิดบั๊กคุณควรใส่ไว้ใน README หลัก (พยายามที่จะเก็บมันไว้แม้ว่าจะแตกต่างจากผู้ใช้รหัส) ผู้สื่อข่าวบั๊กอาจจะเต็มใจน้อยกว่า เพื่อศึกษาและปฏิบัติตามกฎของคุณ) อย่างไรก็ตามบุคคลที่แก้ไขข้อผิดพลาดจริงและปิดตั๋ว (ไม่ว่าคุณหรือหนึ่งในผู้ที่คุณยืนยัน) เป็นผู้ควบคุมโดยตรงและคาดว่าจะสามารถอ่าน README ได้ดังนั้นกระบวนการปิดตั๋วเมื่อนักข่าวรายงาน ไม่ตอบสนองควรอธิบายที่นั่น


12
บน Github เราสามารถใช้CONTRIBUTING.mdเอกสารโดยเฉพาะได้ เอกสารนี้ได้รับการปฏิบัติเป็นพิเศษโดย Github กล่าวคือมันมีการเชื่อมโยงจากด้านบนของหน้าปัญหาที่เปิดอยู่ดังนั้นจึงเป็นศูนย์หน้าและศูนย์ข่าวผู้รายงานปัญหา โปรดดู: help.github.com/articles/…
cbojar

7

ฉันอ่านคำถามนี้เป็นคำถามเพิ่มเติมเกี่ยวกับแนวทางปฏิบัติเกี่ยวกับวิธีจัดการข้อผิดพลาดที่ไม่ได้รับการตรวจสอบ (โดยใช้ตัวติดตามปัญหาของ Github) มากกว่าอย่างอื่น

สำหรับฉันนั่นเป็นคำตอบที่ค่อนข้างตรงไปตรงตามตัวติดตามปัญหาอื่น ๆ ที่ฉันเคยใช้ Github ไม่ได้บังคับให้ใครใช้เวิร์กโฟลว์ใด ๆ และสิ่งนี้ทำให้มีความยืดหยุ่นมาก ... และค่อนข้างไร้ประโยชน์ในการกำหนดค่าเริ่มต้น

ดูขั้นตอนการทำงานเริ่มต้นของ Bugzilla ที่เราได้รับ:

ป้อนคำอธิบายรูปภาพที่นี่

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

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

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

โปรดทราบว่ามีสถานะที่ได้รับการแก้ไขอื่น ๆนอกเหนือจาก 'แก้ไข' มี 'wontfix' (การแก้ไขคือสิ่งที่ไม่สามารถทำได้กับโครงสร้างปัจจุบัน) และ 'worksforme' (ข้อผิดพลาดไม่สามารถทำซ้ำได้) และ 'ไม่ถูกต้อง' (คุณกำลังยื่นข้อบกพร่องเกี่ยวกับระบบปฏิบัติการไม่ใช่ สิ่งที่ประเภทแอปพลิเคชัน)


3

ฉันจะใช้เวลาหนึ่งในสองมุมมองขึ้นอยู่กับว่าฉันมั่นใจว่าฉันกำลังพูดถึงสิ่งเดียวกันกับนักข่าวต้นฉบับ:

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

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

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

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

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