คำถามติดแท็ก code-reviews

แท็กนี้มีไว้สำหรับคำถามเกี่ยวกับการฝึกฝนการตรวจสอบโค้ดและการแนะนำโค้ด สำหรับความคิดเห็นเกี่ยวกับโค้ดที่ใช้งานได้โปรดดูที่ http://codereview.stackexchange.com

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

22
ฉันจะจัดการความไม่เห็นด้วยในการตรวจสอบรหัสเกี่ยวกับกรณีขอบที่ไม่น่าได้อย่างไร
ฉันกำลังทำงานที่การเริ่มต้นของหุ่นยนต์ในทีมที่ครอบคลุมเส้นทางและหลังจากส่งคำขอการดึงรหัสของฉันจะได้รับการตรวจสอบ เพื่อนร่วมทีมของฉันซึ่งอยู่ในทีมมานานกว่าหนึ่งปีได้ให้ความคิดเห็นกับโค้ดของฉันที่แนะนำว่าฉันทำงานหนักกว่าที่ฉันเชื่อว่าจำเป็น ไม่ฉันไม่ใช่นักพัฒนาที่ขี้เกียจ ฉันชอบโค้ดที่สง่างามที่มีความคิดเห็นที่ดีชื่อตัวแปรการเยื้องและการจัดการเคสอย่างเหมาะสม อย่างไรก็ตามเขามีองค์กรประเภทอื่นที่ฉันไม่เห็นด้วย ฉันจะให้ตัวอย่าง: ฉันใช้เวลาหนึ่งวันในการเขียนกรณีทดสอบเพื่อเปลี่ยนเป็นอัลกอริธึมการเปลี่ยนผ่านที่ฉันทำ เขาแนะนำว่าฉันจัดการกับกรณีที่คลุมเครือซึ่งไม่น่าจะเกิดขึ้นจริง ๆ - ที่จริงฉันไม่แน่ใจว่ามันเป็นไปได้ที่จะเกิดขึ้น รหัสที่ฉันสร้างขึ้นนั้นใช้ได้กับกรณีทดสอบดั้งเดิมของเราและรหัสใหม่ที่ฉันพบ รหัสที่ฉันทำผ่านการจำลองมากกว่า 300 รายการของเราที่รันทุกคืน อย่างไรก็ตามในการจัดการกับกรณีที่คลุมเครือนี้จะใช้เวลา 13 ชั่วโมงซึ่งอาจใช้เวลากว่านี้ในการพยายามปรับปรุงประสิทธิภาพของหุ่นยนต์ เพื่อความชัดเจนอัลกอริธึมก่อนหน้านี้ที่เราใช้จนตอนนี้ยังไม่ได้จัดการกรณีที่คลุมเครือนี้และไม่เคยเกิดขึ้นในรายงาน 40k ที่สร้างขึ้นมาเลยแม้แต่ครั้งเดียว เราเป็นผู้เริ่มต้นและจำเป็นต้องพัฒนาผลิตภัณฑ์ ฉันไม่เคยตรวจสอบรหัสมาก่อนและฉันไม่แน่ใจว่าฉันเป็นคนโต้แย้งหรือไม่ ฉันควรจะเงียบและทำในสิ่งที่เขาพูด? ฉันตัดสินใจที่จะเดินหน้าต่อไปและเพิ่งจะเปลี่ยนแปลงแม้ว่าฉันจะไม่เห็นด้วยอย่างยิ่งว่ามันเป็นการใช้เวลาที่ดี ฉันเคารพเพื่อนร่วมงานของฉันและฉันยอมรับว่าเขาเป็นโปรแกรมเมอร์ที่ชาญฉลาด ฉันไม่เห็นด้วยกับเขาเพียงจุดเดียวและไม่รู้วิธีจัดการกับความขัดแย้งในการตรวจสอบโค้ด ฉันรู้สึกว่าคำตอบที่ฉันเลือกนั้นตรงตามเกณฑ์ของการอธิบายว่านักพัฒนารุ่นเยาว์สามารถรับมือกับความขัดแย้งในการตรวจสอบโค้ดได้อย่างไร

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

19
ฉันจะตรวจสอบรหัสของตัวเองได้อย่างไร [ปิด]
ฉันทำงานในโครงการเดี่ยวและต้องรักษารหัสของตัวเอง โดยปกติการตรวจสอบโค้ดนั้นไม่ได้กระทำโดยผู้เขียนโค้ดดังนั้นผู้ตรวจสอบสามารถดูโค้ดด้วยตาที่สดใหม่ - อย่างไรก็ตามฉันไม่มีความหรูหราดังกล่าว ฉันสามารถใช้วิธีปฏิบัติใดในการตรวจสอบโค้ดของตัวเองได้อย่างมีประสิทธิภาพมากขึ้น

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

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

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

11
การตรวจสอบรหัสในภาษาที่ฉันไม่รู้มีประสิทธิภาพหรือไม่
ฉันเป็นนักพัฒนาที่มีประสบการณ์ แต่ยังไม่ได้ทำการตรวจสอบโค้ดจำนวนมาก ฉันถูกขอให้ตรวจสอบรหัสที่เขียนใน Python แต่ฉันไม่รู้จัก Python การตรวจสอบรหัสในภาษาที่ฉันไม่รู้นั้นเป็นเรื่องเหมาะสมหรือไม่?
108 code-reviews 

16
ฉันควรชี้ให้เห็นข้อผิดพลาดที่เกี่ยวข้องกับการสะกด / ไวยากรณ์ในรหัสของใครบางคนหรือไม่ [ปิด]
ในขณะที่ตรวจสอบรหัสของเพื่อนร่วมงานฉันพบข้อผิดพลาดการสะกดคำบางอย่างในชื่อฟังก์ชันและข้อผิดพลาดทางไวยากรณ์เช่น 'doesUserHasPermission ()' แทน 'doesUserHavePermission ()' ในชื่อฟังก์ชันและตัวแปร ฉันควรจะชี้สิ่งเหล่านี้ให้เขาหรือฉันเป็นคนหยาบคายเกินไปโดยสังเกตเห็นสิ่งเหล่านี้หรือไม่?

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

7
วิธีการปฏิเสธการตรวจสอบรหัสที่คุณเชื่อว่าไม่จำเป็น?
ฉันอยู่ในตำแหน่งที่ฉันถูกขอให้ตรวจสอบรหัสบางอย่างที่แก้ไขปัญหาที่ฉันไม่เชื่อว่ามีอยู่ ผู้ให้บริการซึ่งเป็นผู้อาวุโสกว่าฉันยืนยันว่าการแก้ไขของเขาเป็นสิ่งจำเป็น แต่ดูเหมือนจะไม่เกินความซับซ้อนของ C ++ สำหรับฉัน ส่วนหนึ่งของกระบวนการปรับใช้ของเราคือการตรวจสอบโค้ดและในฐานะวิศวกรอันดับ 2 ใน บริษัท ขนาดเล็กฉันคาดว่าจะตรวจสอบการเปลี่ยนแปลง ฉันเชื่อว่าผู้ตรวจสอบมีหน้าที่รับผิดชอบต่อการเปลี่ยนแปลงรหัสเช่นเดียวกับรหัสต้นฉบับและฉันไม่เต็มใจที่จะยอมรับความรับผิดชอบสำหรับการเปลี่ยนแปลงนี้ คุณจะไปเกี่ยวกับการปฏิเสธรีวิวนี้อย่างไร?

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

20
การลดจำนวนบรรทัดในโค้ดมีความสำคัญอย่างไร
ฉันเป็นนักพัฒนาซอฟต์แวร์ที่ทำงานกับ J2SE (core java) บ่อยครั้งในระหว่างการตรวจสอบรหัสของเราเราถูกขอให้ลดจำนวนบรรทัดในรหัสของเรา มันไม่เกี่ยวกับการลบรหัสที่ซ้ำซ้อนมันเกี่ยวกับการติดตามสไตล์ที่เน้นการทำสิ่งเดียวกันโดยมีบรรทัดน้อยลงในรหัสในขณะที่ฉันเชื่อว่าการมีความชัดเจนในโค้ดแม้ว่ามันจะหมายถึงการเพิ่มจำนวนบรรทัด คุณคิดว่าเป็นวิธีที่ถูกต้องในการทำสิ่งต่าง ๆ ? หาก LOC (บรรทัดของรหัส) มีจำนวนน้อยจะมีผลกับรหัสอย่างไร หาก LOC เป็นจำนวนที่มากกว่าจะมีผลกับรหัสอย่างไร ตัวอย่างจากเว็บไซต์: "javaranch" - public static void happyBirthday(int age) { if ((age == 16) || (age == 21) || ((age > 21) && (((age % 10) == 0) || ((age % 25) == 0)))) { …

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

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

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