สิ่งที่คุณควรทิ้งไว้ข้างหลังสำหรับผู้สืบทอดของคุณ?


18

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

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

ฉันกำลังคิด:

  • บัญชี / รหัสผ่าน
  • ที่ตั้งของอุปกรณ์การสำรองข้อมูลแผ่นซีดีซอฟต์แวร์

มีอะไรอีกบ้าง?


1
ฉันจะปล่อยรายการตรวจสอบไว้
gnat

ฉันจะทิ้งโอกาสให้เป็นฮีโร่ ... โอ้และสิ่งที่ต้องทำมากมายในความคิดเห็นของฉัน
งาน


คำตอบ:


26
  • บัญชีและรหัสผ่าน
  • ข้อมูลเซิร์ฟเวอร์
  • รหัสที่ดี
  • เอกสาร
    • ไดอะแกรมฐานข้อมูลและคำอธิบายที่น่าทึ่ง
    • รายการของสิ่งแปลกประหลาดในรหัส
  • ขั้นตอนการ
  • คำอธิบายของกระบวนการด้วยตนเองหรือเป็นครั้งคราวงานไม่ชัดเจน
  • รายการโปรแกรมที่ใช้หรือพบว่ามีประโยชน์
  • ข้อมูลติดต่อ ;)

รายการตำแหน่งควบคุมแหล่งที่มา!
HLGEM

@HLGEM หากรหัสที่พวกเขาใช้อยู่แล้วนั้นอยู่ในการควบคุมแหล่งที่มาคุณเพียงแค่ต้องตรวจสอบรีโมท
kyrias

@Demizey, บางทีการควบคุมแหล่งที่มาของคุณอาจจะเข้าใจได้ง่ายกว่าของเรา แต่ฉันเพิ่งเปลี่ยนจากโครงการ ope ไปเป็นที่อื่นและฉันต้องแสดงการเปลี่ยนตำแหน่งที่แตกต่างกันมากมายที่เธอควรใส่รหัสขึ้นอยู่กับว่าเป็นการแก้ไขข้อมูลแบบครั้งเดียวหรือไม่ , การนำเข้า, การส่งออก, รายงาน, การเปลี่ยนแปลงแอปพลิเคชันหรือการปรับแต่งไคลเอ็นต์ และเมื่อคุณทำงานกับทีมข้ามสายงานอย่างที่ฉันทำฉันอาจจะมีสถานที่ต่าง ๆ 30-40 แห่งในการควบคุมแหล่งข้อมูลเพื่อให้รู้
HLGEM

2
ฉันดีใจที่ฉันตอบคำถามนี้ ฉันเพิ่งออกจากงานที่ฉันอยู่ที่ฉันต้องการทั้งหมดนี้และนี่ทำให้ฉันมีรายการตรวจสอบที่ดีของสิ่งที่จะเขียนขึ้น
Tarka

22

กาแฟหนึ่งถ้วยและคำขอโทษ

คือสิ่งที่ฉันหวังว่าฉันถูกทิ้งไว้

  • เอกสาร ยากไหมที่จะเขียนความคิดเห็นสักสองสามข้อ? สร้างบันทึก, บันทึกการใช้งาน, การย้ายบันทึกระบบ จะทำอย่างไรเมื่อคุณรีสตาร์ทและทุกอย่างหายไป
  • เอกสาร. เขียนว่าทำไมมันถึงถูกทำแบบนี้ดังนั้นฉันไม่ต้องสงสัยเลยว่าทำไมคุณถึงไม่ทำอย่างอื่น ระบบสำรองข้อมูลทำงานอย่างไรเซิร์ฟเวอร์ตอบสนองต่อโหลดทดสอบกรณีทดสอบใช้กรณีอย่างไร
  • หมายเหตุ "เมื่อใช้ฐานข้อมูลไม่เคยพูดว่าSELECT * FROM clients. เราไม่แน่ใจว่าทำไม แต่มันทิ้งฐานข้อมูล"

8

ที่อยู่อีเมลของฉันหรือแม้กระทั่งหมายเลขโทรศัพท์

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


3
ตรวจสอบอีเมล แต่ฉันไม่ค่อยให้หมายเลขโทรศัพท์แก่ใครที่ฉันไม่รู้จักเป็นการส่วนตัว
Steven Evers

จุดดีฉันกระชับส่วนเกี่ยวกับหมายเลขโทรศัพท์ลง
Vetle

นี่อาจเป็นปัญหาทางการเมืองไม่ว่าคุณจะทำได้หรือไม่

@ ThorbjørnRavnAndersenการเมืองหรือสังคม?
Aaron McIver

7

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

สิ่งนี้สามารถอยู่ในรหัสในฐานะที่เป็นความคิดเห็นหรือภายนอกในสายตาธรรมดา


6

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

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


ข้อได้เปรียบที่สำคัญเมื่อมี“ สาเหตุ” ที่บันทึกไว้คือช่วยให้คุณทบทวนการตัดสินใจเมื่อมีการเปลี่ยนแปลงข้อ จำกัด เฮ้มันจะช่วยให้คุณเข้าใจว่าข้อ จำกัด เหล่านั้นคืออะไร มีค่ามาก
Donal Fellows

4

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


3

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

ถ้าเป็นโปรแกรมบนเว็บ FTP และ (ถ้ามี) การเข้าถึง SSH ไปยังเซิร์ฟเวอร์และเครื่องมือใดที่ใช้ในการสร้างและทดสอบรหัสในเครื่อง

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


2

ฉันเพิ่งออกจากงานในสถานการณ์ที่คล้ายกันกับคุณ (ฉันไม่ใช่นักพัฒนาเพียงคนเดียวแต่มีพวกเราสองคนเท่านั้นดังนั้นฉันจึงมีความรู้มากมายที่คนอื่นไม่มี (และในทางกลับกัน แน่นอน)).

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

จากนั้นประมาณเดือนก่อนที่ผมออกจากเวลาผมทำอะไรที่เดียวที่ฉันทุกอาจทำผมเขียนลงไปว่าสิ่งที่เกิดขึ้นสิ่งที่ผมต้องทำและทำไม นี่เป็นกรณีของ "มีข้อผิดพลาดในองค์ประกอบ xyz เพื่อแก้ไขฉันรู้ว่าดูในไฟล์ abc เพราะ X จากนั้นฉันต้องทำสิ่งนี้และสิ่งนี้"

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


1

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


1

กฎ # 1 สำหรับเอกสารไม่ใช่สิ่งที่ทำ แต่เพราะอะไร backstory ของโปรแกรมที่รันอยู่คืออะไรและทำอะไร?


0

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

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

โดยเฉพาะอย่างยิ่งกับโครงการโอเพ่นซอร์ส สามารถประหยัดเวลาและพลังสมองได้มาก!

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