ฉันควรบันทึกการแก้ไขเล็กน้อยหรือไม่


28

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

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

ฉันพบว่าตัวเองอธิบายสิ่งที่ฉันได้แก้ไขไปแล้วจากนั้นปิดทันที ฉันสงสัยว่าทุกคนจะดูข้อผิดพลาดที่ปิดนี้อีกครั้ง ได้เวลาตัดแต่งกระบวนการไขมันแล้วหรือยัง?


6
เมื่อคุณพบข้อผิดพลาดให้จดบันทึกข้อผิดพลาดที่เกิดขึ้นบนกระดาษ เมื่อคุณแก้ไขข้อผิดพลาดเขียนลงไฟล์ที่ถูกแก้ไข ก่อนที่คุณจะส่งการแก้ไขให้บันทึกข้อบกพร่องแล้วส่งการเปลี่ยนแปลง หากคุณทำเช่นนี้ทุกครั้งที่คุณมีนิสัยคุณจะมีนิสัยที่ไม่ดีการบันทึกข้อบกพร่องไม่ใช่การเสียเวลา
Ramhound

5
คุณจะมั่นใจได้อย่างไรว่าข้อบกพร่องเหล่านี้ไม่สำคัญ?

2
@ashansky คุณยังอ่านประโยคที่สองของคำถามของฉันหรือไม่
Philip

1
การไม่บันทึกงานของคุณเองเป็นวิธีที่แน่นอนในการ a) ไม่ได้รับเครดิตและ b) ถูกถามว่า 'เพราะเหตุใด X จึงไม่เสร็จและทำไมคุณถึงทำงานกับ Y'
Michael Durrant

1
คุณไม่สามารถเข้าสู่ระบบทุกสิ่งมันก็ไม่ได้ปฏิบัติ เหตุใดบางคนจึงกระโดดขึ้น ๆ ลง ๆ คิดว่าทำไมบางคนถึงไม่บันทึกสิ่งเล็ก ๆ น้อย ๆ
Darknight

คำตอบ:


36

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

ถ้ามีอะไรผิดพลาดคุณสามารถติดตามกลับไปที่บั๊กและหาสาเหตุที่ทำให้คุณทำการเปลี่ยนแปลงได้

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

UPDATE

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

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


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

@Ian นี่เป็นความจริง แต่โดยทั่วไปในระหว่างการพัฒนาในช่วงต้น (สมมติว่าคุณหมายถึงการพัฒนาจริง ๆ แล้วไม่ใช่ต้นแบบการสำรวจหรือบางอย่าง) คุณมักจะทำงานกับชุดคุณลักษณะบางอย่าง ในกรณีดังกล่าวการเปลี่ยนแปลงแต่ละรายการควรเชื่อมโยงกับคุณลักษณะที่รองรับ ข้อผิดพลาดเล็กน้อยแก้ไขลงบรรทัดเพื่อคุณสมบัติ "เสร็จสิ้น" ยังคงสามารถเชื่อมโยงกับมันเพื่อระบุการสนับสนุนขององค์ประกอบนั้น โปรดทราบว่าสิ่งนี้ขึ้นอยู่กับว่าคุณติดตามคุณสมบัติและข้อมูลจำเพาะ
CodexArcanum

1
@Darknight - มันไม่ง่ายเลย! เป็นผลมาจากความจริงที่ว่าเราใช้ TFS และได้ตั้งค่าให้ไม่อนุญาตการเช็คอินที่ไม่มีรายการงานที่เกี่ยวข้อง ใช่คุณสามารถแทนที่กฎได้ แต่จะหยุดและทำให้คุณคิดเกี่ยวกับสิ่งที่คุณทำ
ChrisF

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

3
@All กรุณาทำการสนทนานี้เพื่อแชท
maple_shaft

14

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

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

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


1
ใช่ฉันทำอย่างนั้น แม้ว่าบางครั้งฉันก็พบว่าตัวเองกำลังแก้ไขสิ่งต่าง ๆ ในขณะที่อยู่ในสาขาและรวมเข้าด้วยกันในความมุ่งมั่นอื่น ๆ
Philip


@matthieu เดี๋ยวก่อน Jira ทำงานร่วมกับ SVN? ความดีของฉันทำไมเราไม่ทำอย่างนั้น? ดูเหมือนว่ามีปลั๊กอินอยู่สองสามอัน
Philip

5

จากมุมมองของตัวชี้วัดก็อาจมีประโยชน์

ข้อมูลนี้สามารถนำมาใช้เพื่อแสดงสิ่งต่าง ๆ แก่เจ้านาย:

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

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


2

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


1

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

ลองคิดดูสิว่า 'gimmes' ที่จบลงด้วยการเพิ่มจำนวนของคุณ ท้ายที่สุดพวกมันคือบั๊กที่คุณได้แก้ไขและคุณควรได้รับการยอมรับสำหรับการแก้ไขแม้ว่ามันจะเป็นเรื่องเล็กน้อยก็ตาม

เข้าสู่ระบบพวกเขา


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

1

ในการตอบคำถามนี้ขึ้นอยู่กับว่าคุณอยู่ที่ไหนในกระบวนการ

สิ่งเหล่านี้สามารถนำไปใช้กับโครงการใหม่หรือชุดคุณลักษณะใหม่ที่กำลังออกแบบ

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

การทดสอบ

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

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

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

ปล่อย

คุณควรติดตามข้อบกพร่องในรหัสที่ออก นี่เป็นสิ่งสำคัญสำหรับความรับผิดชอบ

การปรับปรุงกระบวนการให้เหมาะสมกับความต้องการของคุณก็เป็นสิ่งสำคัญเช่นกัน คุณต้องการระบบติดตามบั๊กขนาดใหญ่จริง ๆ หรือไม่? ฟิลด์ทั้งหมดนั้นสำคัญสำหรับทีม 2 คนหรือไม่


1

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

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

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

นี่ค่อนข้างใกล้กับคำถามนี้แต่ฉันไม่แน่ใจว่ามันซ้ำซ้อนเนื่องจากคำถามนี้มุ่งเน้นไปที่การแก้ไขเล็กน้อย


1

ทำไมคุณไม่ควรติดตามข้อบกพร่องโดย Jon Arid Torresdal - แก้ไขให้ดีกว่าแทน

  1. ระหว่างการพัฒนา: คุณพบข้อบกพร่องสำหรับคุณสมบัติ คุณเพิ่มกรณีทดสอบที่ทำให้บิลด์ขาดจากนั้นตรวจสอบในการแก้ไขกับฟีเจอร์

  2. หลังจากที่ปล่อย: เอกสารพฤติกรรม หากคุณวางแผนที่จะปล่อยการอัปเดตให้ไปที่ 1. หากคุณไม่รับผิดชอบในการเปิดตัวนั้นให้ทดสอบ + แก้ไขที่ถูกซ่อนอยู่ในสาขาส่วนตัว

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


-6

ขึ้นอยู่กับว่าเรื่องเล็กน้อยฉันใช้การวัดนี้:

ถ้ามันใช้เวลานานเพื่อเข้าสู่ระบบกว่าจะเอาไปแก้ไขมันก็ไม่คุ้มค่าการบันทึกมัน


3
เพียงเพราะมันใช้เวลาในการเข้าสู่ระบบนานกว่าการแก้ไขไม่ใช่เหตุผลที่เพียงพอ ฮา! อันนี้มีคำอธิบาย :)
คุณ

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

3
ฉันจะไม่ลงคะแนน แต่ฉันไม่เห็นด้วยกับเรื่องนี้เป็นกฎทั่วไป (แม้ว่าในกรณีส่วนใหญ่ฉันสามารถเห็นมันทำให้รู้สึก!) ถ้าคุณมี "off by one error" ที่ส่งมา แต่เลื่อนผ่าน QA net? ใช้เวลานานกว่าในการเข้าสู่ระบบเพื่อแก้ไข ....
PhillC

2
หากยังไม่ได้เข้าสู่ระบบจะไม่สามารถยืนยันได้ว่ามีการแก้ไขโดย QA
17 จาก 26

3
-1 นี่เป็นเพียงความหยิ่งโปรแกรมเมอร์ (' ฉันไม่ทำผิดพลาด') และไม่รู้ (ฉันไม่เห็นอะไรเลวร้ายเกิดขึ้นกับการแก้ไขเล็กน้อย) หนึ่งความผิดพลาดที่ดีจริงๆและเบิร์นจากการแก้ไข 'รอง' มักจะช่วยได้ (หรือที่เรียกว่าประสบการณ์)
Michael Durrant
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.