การเป็นเจ้าของรหัสนั้นเป็นกลิ่นรหัสหรือไม่


27

นี่คือสิ่งที่ฉันคิดเกี่ยวกับนับตั้งแต่ฉันอ่านคำตอบนี้ในหัวข้อความคิดเห็นการเขียนโปรแกรมขัดแย้ง :

งานของคุณคือการออกจากงาน

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

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

น่าสนใจฉันพบว่าการมีเป้าหมายนั้นทำให้ฉันมีค่ามากขึ้นสำหรับนายจ้างของฉัน ยิ่งฉันพยายามทิ้งมากเท่าไหร่ฉันก็ยิ่งมีค่ามากขึ้นเท่านั้น

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

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

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

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

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

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

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


3
คำถามของคุณคืออะไร? นอกจากนี้ "รหัสกลิ่น" คืออะไร?
CamelBlues

2
@CamelBlues: " กลิ่นรหัสเป็นอาการใด ๆ ในซอร์สโค้ดของโปรแกรมที่อาจบ่งบอกถึงปัญหาที่ลึกลงไป" (Wikipedia) ดูการค้นหานี้สำหรับคำถามมากมายในเว็บไซต์นี้เกี่ยวกับกลิ่นของรหัส
Carson63000

4
การเป็นเจ้าของรหัสไม่ได้เป็นผลมาจากการมีกลิ่นรหัสหรือไม่ความเป็นเจ้าของรหัสนั้นเป็นกลิ่นรหัส ฉันคิดว่านี่ยังคงเป็นคำถามเดียวกันกับคำถามอื่น ๆ รวมถึงคำถามนี้: programmers.stackexchange.com/questions/48697/…
Rei Miyasaka

1
สำหรับฉัน "การรับผิดชอบ / การเป็นเจ้าของ"! = "การเป็นเจ้าของรหัส" ฉันเพิ่งมีข้อโต้แย้งกับผู้จัดการว่าการเป็นเจ้าของรหัสนั้นค่อนข้างแย่และมันก็ไม่เหมือนกับการยอมให้ผู้คนรับผิดชอบ สำหรับการเป็นเจ้าของรหัสผู้จัดการหมายถึงสิ่งเดียวกันกับการรับผิดชอบ
Thomas James

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

คำตอบ:


32

ฉันคิดว่าเราต้องสร้างความแตกต่างระหว่างการเป็นเจ้าของรหัส:

  • จากมุมมองความรับผิดชอบ
  • จากรูปแบบโค้ด / แฮ็ก ฯลฯ มุมมอง

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

การเป็นเจ้าของรหัสอาจช่วยได้มากทั้งผู้จัดการและนักพัฒนาโดยเฉพาะผู้พัฒนา ถ้าฉันรู้ว่า 80% ของข้อบกพร่องในผลิตภัณฑ์อยู่ในรหัสของฉันในขณะที่เราเป็นนักพัฒนาสามคนที่ทำงานในโครงการและ 75% ของข้อผิดพลาดเหล่านั้นเกี่ยวข้องกับการฉีด SQL ฉันจะต้องระมัดระวังในการเขียนรหัสในครั้งต่อไปและ ใช้ความพยายามพิเศษในการเขียนแบบสอบถามฐานข้อมูลอย่างถูกต้อง


สิ่งที่สอง (ความเป็นเจ้าของรหัสจากรูปแบบโค้ด / แฮ็ก ฯลฯ ) ส่วนใหญ่เป็นสิ่งที่ไม่ดี สิ่งที่นำมาสู่ผลิตภัณฑ์? ไม่ได้เพิ่มคุณภาพของผลิตภัณฑ์ แต่ลดความสม่ำเสมอของซอร์สโค้ดและทำให้ยากต่อการบำรุงรักษาเมื่อไม่นานมานี้

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

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

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

  • มีการบังคับใช้แนวทางลักษณะรหัสเพื่อช่วยให้เข้าใจรหัสได้ง่ายขึ้นในภายหลัง
  • นักพัฒนาที่มีประสบการณ์มากกว่าไม่ละเมิดหลักการ KISS ดังนั้นจึงช่วยให้เข้าใจซอร์สโค้ดในภายหลังโดยเพื่อนร่วมงานที่มีประสบการณ์น้อย

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


9

ก่อนอื่นเราต้องกำหนดว่า "การเป็นเจ้าของรหัส" คืออะไร


เมื่อโค้ด (ส่วนหนึ่ง) อยู่ในขั้นตอนเริ่มต้นของการพัฒนามักจำเป็นต้องกำหนดบุคคลหนึ่งหรือสองคนในฐานะ "เจ้าของ" เพราะ:

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

โดยปกติจะมีเจ้าของเดียวสำหรับแต่ละงาน เจ้าของแบบคู่สามารถทำได้ด้วยการเขียนโปรแกรมคู่ มันจะไม่เกิดประโยชน์หากไม่มี "การเป็นเจ้าของรหัส" ที่แคบ

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


เมื่อชิ้นส่วนถูกเขียนและยอมรับลงในฐานรหัส ("เสร็จสิ้น") คำถาม "เจ้าของรหัส" ทั่วไปจะปรากฏขึ้น

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

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

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

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


อย่างไรก็ตามบางครั้ง "การเป็นเจ้าของรหัส" หมายถึงอุปสรรคที่นักพัฒนาที่ใช้งานของโครงการตั้งขึ้นเพื่อป้องกันไม่ให้บุคคลภายนอกแก้ไขรหัส

  • ใครบ้างที่สามารถแก้ไขโค้ดนี้ได้
    • เพื่อแก้ไขข้อบกพร่องที่เห็นได้ชัด?
    • เพื่อให้โค้ดตรงตามข้อกำหนดอื่น ๆ
    • เพื่อเขียนรหัสใหม่ให้สมบูรณ์เพื่อลิ้มรสของใคร?

มีสิ่งกีดขวางที่ดีและสิ่งกีดขวางที่ไม่ดี:

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

ในกรณีนี้สิทธิ์ในการแก้ไขซอร์สโค้ดของโครงการอื่นไม่ควรยึดตามความเป็นเจ้าของโค้ด แต่ควรเป็นพื้นฐานของการทำบุญ


ในที่สุดคำตอบของ @Graham Lee ชี้ไปที่การกระจายตัวของความรู้และสถาปัตยกรรมที่เกิดจากแผนก

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


7

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

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

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


6

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

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

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

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


1

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

ผมเขียนบล็อกโพสต์เกี่ยวกับเรื่องนี้หลายเดือนที่ผ่านมาที่ผมแย้งว่าไม่มีความเป็นเจ้าของรหัสที่ผมกำหนดมันเป็น codebase มักจะตกเหยื่อโศกนาฏกรรมของคอมมอนส์

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


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