คำถามติดแท็ก bug

เมตาแท็กเกี่ยวกับข้อบกพร่อง กรุณาอย่าใช้สิ่งนี้

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

16
มีวิธีใดที่จะได้เร็วขึ้นในการแก้ข้อบกพร่อง? ฉันเพิ่งได้รับคำเตือนจากหัวหน้าของฉัน [ปิด]
เจ้านายของฉันเพิ่งบอกฉันว่าฉันจะได้รับการตรวจสอบประสิทธิภาพเชิงลบในวันจันทร์ เขาต้องการพูดคุยกับฉันเกี่ยวกับสาเหตุที่ฉันช้ามากและทำไมอัตราการแก้ไขข้อบกพร่องของฉันจึงต่ำมาก ฉันรักการเขียนโปรแกรมและการแก้ปัญหา แต่จริง ๆ แล้วฉันหางานของฉันได้ยากจริงๆ ฉันเป็นโปรแกรมเมอร์มาประมาณ 10 ปีแล้ว แต่นี่เป็นงานลินุกซ์ฝังตัวแบบมัลติเธรดครั้งแรกของฉัน - ฉันอยู่ที่นี่มา 2 ปีแล้วและเห็นได้ชัดว่าทุกคนยังคงดิ้นรนอยู่ และฉันคิดว่าฉันกลายเป็นคนขวัญเสียและรู้สึกว่าด้อยโอกาสฉันได้สูญเสียไฟจำนวนมากที่เกิดขึ้นตอนเริ่มงาน มีใครเคยอยู่ในสถานการณ์ที่คล้ายคลึงกันและคุณจะเพิ่มอัตราการแก้ไขข้อบกพร่องอย่างไร? อัปเดต: ฉันมีความเห็น ฉันได้รับ 'โปรแกรมการพัฒนาพนักงาน' 3 เดือน (ประเภทที่ Dunk กล่าวถึง) ไม่แน่ใจว่าฉันจะหันไปทางนี้ได้ไหม แต่ถึงแม้ว่าฉันต้องเดินหน้าต่อไปฉันก็ได้เรียนรู้มากมายจากประสบการณ์นี้ การปรับปรุงอื่น ตอนนี้ประมาณ 6 สัปดาห์ตั้งแต่รีวิวครั้งแรก คำแนะนำของฉันกับทุกคนที่เผชิญสถานการณ์เดียวกันคือการอ่อนน้อมถ่อมตนพอที่จะวิจารณ์และเรียนรู้จากความผิดพลาด และไม่ต้องกลัวที่จะดูโง่ ถามคำถามมากมาย บอกให้ทุกคนรู้ว่าคุณกำลังพยายามเรียนรู้และถามต่อไปจนกว่าคุณจะเข้าใจ แต่ต้องเตรียมพร้อมสำหรับมันที่จะไม่ออกไปทำงาน ฉันกำลังสร้างแฟ้มสะสมผลงานของรหัส ... รวมทั้งให้ภาพที่ดีที่สุดของฉัน ยังเป็นอีกหนึ่งการปรับปรุง ฉันลังเลที่จะใส่สิ่งนี้ไว้ที่นี่เนื่องจากฉันกังวลว่าฉันจะไม่สามารถอ้างถึงนายจ้างในอนาคตไปยังโปรไฟล์สแต็คโอเวอร์โฟลว์ของฉัน ... แต่อย่างไรก็ตามมันอาจจะเป็นที่สนใจสำหรับใครบางคนที่อ่านคำถามนี้ งานไม่กี่สัปดาห์ที่ผ่านมา ฉันอยู่ท่ามกลางการแปรงของทักษะทั้งหมดที่ฉันต้องการ - ฉันได้รับมากจากคำแนะนำที่ได้รับที่นี่

11
คำสั่ง“ goto” ของแมลงชนิดใดที่นำไปสู่ มีตัวอย่างที่สำคัญทางประวัติศาสตร์หรือไม่?
ฉันเข้าใจว่าช่วยไม่ให้ลูปซ้อนกันในลูป gotoคำสั่งบ่ายเบี่ยงและประจานว่าเป็นข้อผิดพลาดสไตล์แนวโน้มของการเขียนโปรแกรมเพื่อไม่เคยถูกนำมาใช้ Alt Text: "Neal Stephenson คิดว่ามันน่ารักที่จะตั้งชื่อป้ายกำกับ 'dengo' ของเขา" ดูการ์ตูนต้นฉบับที่: http://xkcd.com/292/ เพราะฉันเรียนรู้สิ่งนี้ก่อน ฉันไม่ได้มีความเข้าใจอย่างถ่องแท้หรือประสบการณ์เกี่ยวกับข้อผิดพลาดประเภทใดที่gotoนำไปสู่ ดังนั้นสิ่งที่เรากำลังพูดถึงที่นี่: ความไม่แน่นอน? รหัสที่ไม่สามารถเข้าใจได้หรืออ่านไม่ได้? ช่องโหว่ด้านความปลอดภัย? มีอะไรอีกบ้าง? ข้อผิดพลาดประเภทใดที่ทำให้ข้อความ "goto" นำไปสู่ มีตัวอย่างที่สำคัญทางประวัติศาสตร์หรือไม่?

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

15
เป็นไปได้หรือไม่ที่จะไปถึงสถานะข้อบกพร่องสัมบูรณ์เป็นศูนย์สำหรับซอฟต์แวร์ขนาดใหญ่?
ฉันกำลังพูดถึงโค้ดประมาณ 20-30 ล้านบรรทัดซอฟต์แวร์ในระดับและความซับซ้อนของ Autodesk Maya หากคุณหยุดการพัฒนาตราบใดที่จำเป็นต้องทำคุณสามารถแก้ไขข้อบกพร่องทั้งหมดได้จริงหรือไม่จนกว่าจะไม่มีข้อผิดพลาดเพียงครั้งเดียวหากสิ่งนั้นสามารถตรวจสอบได้ด้วยคอมพิวเตอร์? อะไรคือข้อโต้แย้งสำหรับและต่อต้านการดำรงอยู่ของระบบที่ปราศจากข้อบกพร่อง? เนื่องจากมีความคิดบางอย่างที่คุณแก้ไขทุกครั้งจะสร้างข้อบกพร่องมากขึ้น แต่ฉันไม่คิดว่าเป็นเรื่องจริง โดยข้อบกพร่องฉันหมายถึงจากการพิมพ์ผิดที่ง่ายที่สุดใน UI เพื่อข้อบกพร่องเชิงป้องกันที่รุนแรงยิ่งขึ้นที่ไม่มีวิธีแก้ปัญหา ตัวอย่างเช่นฟังก์ชั่นการเขียนสคริปต์ที่เฉพาะเจาะจงคำนวณบรรทัดฐานไม่ถูกต้อง แม้กระทั่งเมื่อมีวิธีแก้ไขปัญหาปัญหายังคงต้องได้รับการแก้ไข ดังนั้นคุณสามารถพูดได้ว่าคุณสามารถทำสิ่งนี้ด้วยตนเองแทนการใช้ฟังก์ชั่นที่ให้ไว้ แต่ฟังก์ชั่นนั้นยังคงต้องได้รับการแก้ไข

17
มันมีเหตุผลที่จะยืนยันในการทำซ้ำทุกข้อบกพร่องก่อนที่จะวินิจฉัยและแก้ไขหรือไม่
ฉันทำงานให้กับ บริษัท ผลิตภัณฑ์ซอฟต์แวร์ เรามีลูกค้าองค์กรขนาดใหญ่ที่ใช้ผลิตภัณฑ์ของเราและเราให้การสนับสนุนพวกเขา ตัวอย่างเช่นหากมีข้อบกพร่องเราให้บริการแพตช์และอื่น ๆ กล่าวคือเป็นการตั้งค่าที่ค่อนข้างทั่วไป เมื่อเร็ว ๆ นี้มีการออกตั๋วและมอบหมายให้ฉันเกี่ยวกับข้อยกเว้นที่พบโดยลูกค้าในล็อกไฟล์ซึ่งเกี่ยวข้องกับการเข้าถึงฐานข้อมูลพร้อมกันในการใช้งานกลุ่มผลิตภัณฑ์ของเรา ดังนั้นการกำหนดค่าเฉพาะของลูกค้ารายนี้อาจมีความสำคัญในการเกิดข้อผิดพลาดนี้ สิ่งที่เราได้รับจากลูกค้าคือไฟล์บันทึกของพวกเขา วิธีที่ฉันเสนอให้กับทีมของฉันคือพยายามทำซ้ำข้อผิดพลาดในการตั้งค่าการกำหนดค่าที่คล้ายกับของลูกค้าและรับบันทึกที่เปรียบเทียบกันได้ อย่างไรก็ตามพวกเขาไม่เห็นด้วยกับวิธีการของฉันบอกว่าฉันไม่จำเป็นต้องทำซ้ำข้อผิดพลาดเพราะมันใช้เวลานานเกินไปและจะต้องจำลองเซิร์ฟเวอร์คลัสเตอร์บน VMs ทีมของฉันแนะนำให้ฉันเพียง "ติดตามรหัส" เพื่อดูว่ารหัสเธรดและ / หรือธุรกรรมที่ไม่ปลอดภัยอยู่ที่ใดและเปลี่ยนการทำงานนอกการพัฒนาท้องถิ่นอย่างง่ายซึ่งไม่ใช่การใช้คลัสเตอร์เช่นสภาพแวดล้อมที่เกิดขึ้น ของข้อผิดพลาดมา สำหรับฉันแล้วการทำงานจากพิมพ์เขียวที่เป็นนามธรรม (รหัสโปรแกรม) แทนที่จะเป็นรูปธรรมที่ชัดเจนและชัดเจน (การทำสำเนารันไทม์) ดูเหมือนยากดังนั้นฉันต้องการถามคำถามทั่วไป: มันมีเหตุผลที่จะยืนยันในการทำซ้ำทุกข้อบกพร่องและแก้ปัญหาก่อนที่จะวินิจฉัยและแก้ไขหรือไม่ หรือ: ถ้าฉันเป็นนักพัฒนาอาวุโสฉันควรจะสามารถอ่านรหัสแบบมัลติเธรดและสร้างภาพจิตของสิ่งที่มันทำในทุกกรณีสถานการณ์การใช้งานมากกว่าที่จะต้องเรียกใช้แอปพลิเคชันทดสอบสถานการณ์การใช้กรณีและสถานการณ์ที่แตกต่างกัน บรรทัดรหัสโดยบรรทัด? หรือฉันเป็นผู้พัฒนาที่ไม่ดีสำหรับความต้องการสภาพแวดล้อมการทำงานแบบนั้น? การดีบักสำหรับน้องสาวหรือไม่? ในความเห็นของฉันการแก้ไขใด ๆ ที่ส่งมาเพื่อตอบสนองต่อตั๋วเหตุการณ์ควรทดสอบในสภาพแวดล้อมที่จำลองขึ้นให้ใกล้เคียงกับสภาพแวดล้อมเดิมมากที่สุด คุณจะรู้ได้อย่างไรว่ามันจะแก้ไขปัญหาได้จริง ๆ ? มันเหมือนกับการปล่อยรถรุ่นใหม่โดยไม่มีการทดสอบการชนด้วยหุ่นจำลองเพื่อแสดงให้เห็นว่าถุงลมนิรภัยใช้งานได้จริง สุดท้าย แต่ไม่ท้ายสุดถ้าคุณเห็นด้วยกับฉัน: ฉันจะพูดคุยกับทีมของฉันเพื่อโน้มน้าวพวกเขาได้อย่างไรว่าแนวทางของฉันนั้นมีความสมเหตุสมผล

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

12
ภาษาการเขียนโปรแกรมใดที่สร้างบั๊กที่หายากได้น้อยที่สุด? [ปิด]
ในความเห็นของคุณว่าภาษาใดที่อนุญาตให้โปรแกรมเมอร์โดยเฉลี่ยให้คุณสมบัติการส่งออกที่มีข้อบกพร่องที่ยากต่อการค้นหาน้อยที่สุด? แน่นอนว่าเป็นคำถามที่กว้างมากและฉันสนใจคำตอบและภูมิปัญญาที่กว้างและกว้างมาก โดยส่วนตัวฉันพบว่าฉันใช้เวลาน้อยมากในการค้นหาข้อผิดพลาดที่แปลกประหลาดในโปรแกรม Java และ C # ในขณะที่รหัส C ++ มีชุดข้อผิดพลาดที่เกิดซ้ำและ Python / คล้ายคลึงกันมีชุดของตัวเองของข้อผิดพลาดทั่วไปและโง่ ๆ ในภาษาอื่น ๆ นอกจากนี้ฉันคิดว่ามันยากที่จะพิจารณาภาษาที่ใช้งานได้ในเรื่องนี้เพราะฉันไม่เคยเห็นโปรแกรมขนาดใหญ่และซับซ้อนที่เขียนด้วยรหัสการทำงานทั้งหมด โปรดป้อนข้อมูลของคุณ แก้ไข: การชี้แจงข้อผิดพลาดที่หายากโดยพลการอย่างสมบูรณ์: ใช้เวลามากกว่า 15 นาทีในการสร้างซ้ำหรือมากกว่า 1 ชั่วโมงเพื่อค้นหาสาเหตุและการแก้ไข ยกโทษให้ฉันหากนี่เป็นสิ่งที่ซ้ำกัน แต่ฉันไม่พบสิ่งใดในหัวข้อเฉพาะนี้

10
schrödinbugคืออะไร?
นี้หน้าวิกิพีเดียบอกว่า: schrödinbugเป็นบั๊กที่ปรากฏขึ้นหลังจากที่มีคนอ่านซอร์สโค้ดหรือใช้โปรแกรมในลักษณะที่ผิดปกติสังเกตว่ามันไม่ควรทำงานในสถานที่แรก ณ จุดที่โปรแกรมหยุดทำงานทันทีสำหรับทุกคนจนกว่าจะได้รับการแก้ไข ไฟล์ศัพท์แสงเพิ่ม: "แม้ว่า ... ฟังดูเป็นไปไม่ได้มันเกิดขึ้นบางโปรแกรมมีการซ่อนschrödinbugsแฝงมานานหลายปีแล้ว" สิ่งที่กำลังพูดถึงนั้นคลุมเครือมาก .. ใครสามารถให้ตัวอย่างของวิธีschrödinbugเป็นอย่างไร (เช่นกับสถานการณ์สมมติ / ชีวิตจริง)
52 bug 

8
ประเด็นเรื่องการแก้ไขข้อผิดพลาด: เหมาะสำหรับการต่อสู้หรือไม่?
ฉันแค่สงสัยว่าเราควรกำหนดเรื่องให้กับงานซ่อมบั๊กหรือไม่ JIRA ซึ่งเป็นซอฟต์แวร์ติดตามปัญหาของเราไม่มีฟิลด์จุดเรื่องราวสำหรับปัญหาประเภทBug (เฉพาะสำหรับStory s และEpicเท่านั้น) เราควรเพิ่มประเภทของปัญหาBugไปยังประเภทของปัญหาที่เกี่ยวข้องในฟิลด์Story Pointsหรือไม่ ข้อดีและข้อเสียคืออะไร? มันจะเหมาะสำหรับการต่อสู้แย่งชิงกันหรือไม่
50 agile  scrum  bug  user-story 

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

13
ฉันทำคะแนนเรื่องราวได้มากกว่า 4-5 เท่าโดยเฉลี่ย แต่สร้างข้อบกพร่องในอัตราครึ่งหนึ่ง กราฟบอกว่ามันเป็นข้อผิดพลาดมากกว่า 2x วิธีจัดการกับมันได้อย่างไร
ดังนั้นจึงเป็นที่ยอมรับกันโดยทั่วไปว่าโปรแกรมเมอร์ระดับสูงสามารถสร้างลำดับความสำคัญได้มากกว่า / ดีกว่ารหัสโดยเฉลี่ย เป็นที่ยอมรับกันโดยทั่วไปว่าอัตราข้อผิดพลาดที่เกิดขึ้นในโค้ดนั้นค่อนข้างคงที่สำหรับโปรแกรมเมอร์ แต่มีแนวโน้มที่จะได้รับผลกระทบจากกระบวนการที่ใช้เมื่อเขียนรหัสและหลังจากเขียนรหัสแล้ว (ตามที่ฉันเข้าใจ) มนุษย์มักจะทำผิดพลาดในอัตราที่ค่อนข้างคงที่ - โปรแกรมเมอร์ที่ดีกว่าเพียงสังเกตเห็นพวกเขามากขึ้น โปรดทราบว่าการยืนยันทั้งสองข้างต้นมาจากCode Completeโดย Steve McConnell ดังนั้นจึงไม่ใช่เรื่องของมุมมองที่แตกต่าง ดังนั้นฉันจึงเริ่มเห็นสิ่งนี้ในรหัสของฉัน ฉันสามารถใช้จำนวนโค้ดประมาณ 4-5 เท่ากับเพื่อนร่วมงานของฉัน (วัดจากคะแนนเรื่องราวที่ประเมินโดยทีม) ด้วยคุณภาพที่สูงขึ้น (ขึ้นอยู่กับตัวชี้วัดประสิทธิภาพและจำนวนการเปลี่ยนแปลงที่เกิดขึ้นหลังจากเช็คอิน) แต่ฉันก็ยังทำผิดอยู่ ระหว่างการทดสอบหน่วยที่ดีขึ้นความเข้าใจที่ดีขึ้นเกี่ยวกับสิ่งที่รหัสกำลังทำอยู่และการมองปัญหาที่ดีขึ้นเมื่อทำการตรวจสอบโค้ดฉันไม่ได้ผลิตข้อผิดพลาด 4-5 เท่า แต่ฉันยังคงผลิตประมาณสองครั้งเป็นโรคจิตหลายพบได้โดยการควบคุมคุณภาพเป็นนักพัฒนาอื่น ๆ ในทีมของฉัน อย่างที่คุณอาจจินตนาการสิ่งนี้ทำให้เกิดปัญหาบางอย่างกับผู้ที่ไม่ใช้เทคนิคทำการวัดแบบเมตริก ฉันพยายามที่จะชี้ให้เห็นว่าฉันผลิตข้อบกพร่องในอัตราครึ่งหนึ่งของเพื่อนของฉัน (และแก้ไขสองเท่าเป็นจำนวนมาก) แต่มันเป็นเรื่องยากที่จะขายเมื่อมีกราฟบอกว่าฉันผลิตข้อผิดพลาดเป็นสองเท่า ดังนั้นวิธีจัดการกับความจริงที่ว่าผลผลิตที่เพิ่มขึ้นจะนำไปสู่การเพิ่มจำนวนข้อบกพร่อง?

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

14
แก้ไขข้อบกพร่องหรือรอให้ลูกค้าค้นหาพวกเขา
คนอื่น ๆ แก้ไขข้อผิดพลาดเมื่อพวกเขาเห็นพวกเขาหรือพวกเขารอจนกว่าจะมีข้อผิดพลาด / การสูญเสียข้อมูล / คนตายก่อนที่จะแก้ไขหรือไม่ ตัวอย่างที่ 1 Customer customer = null; ... customer.Save(); รหัสผิดอย่างเห็นได้ชัดและไม่มีทางแก้ไข - เรียกใช้วิธีการอ้างอิงแบบ null มันไม่ได้ผิดพลาดเพราะSaveไม่ได้เข้าถึงข้อมูลอินสแตนซ์ใด ๆ ดังนั้นมันก็เหมือนกับการเรียกฟังก์ชั่นคงที่ แต่การเปลี่ยนแปลงเล็ก ๆ น้อย ๆ ที่ใดก็สามารถทำให้รหัสที่เสียหายที่ไม่ผิดพลาด: เพื่อเริ่มต้นการทำงานล้มเหลว แต่ก็ยังไม่ได้นึกไม่ถึงว่าการแก้ไขรหัส: Customer customer = null; ... customer = new Customer(); try ... customer.Save(); ... finally customer.Free(); end; อาจแนะนำความผิดพลาด; ไม่มีใครค้นพบผ่านการทดสอบหน่วยที่มีการครอบคลุมที่สมบูรณ์และการทดสอบผู้ใช้ด้วยตนเอง ตัวอย่างที่ 2 float …
35 code-quality  bug 

7
ใครควรเป็นผู้จ่ายเงินสำหรับการแก้ไข / ข้อบกพร่อง? [ปิด]
ดังนั้นฉันจึงเริ่ม freelancing ทั้งในการพัฒนาเดสก์ท็อป / เว็บและลูกค้ารายนี้ที่ยอมรับงานของฉันและจ่ายเงินให้ฉันกลับมาที่ฉันทุกครั้งที่เขาพบข้อบกพร่อง ฯลฯ และฉันพบว่าตัวเองใช้เวลามากกว่าที่ฉันคิดไว้ ฟรี. เป็นไรหรือฉันควรเริ่มคิดค่าธรรมเนียมการสนับสนุนหรือไม่ วิธีใดที่ดีที่สุดในการจัดการกับการแก้ไขในงานที่ได้รับการยอมรับและเสร็จสมบูรณ์

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