ฉันจะอธิบายกระบวนการเรียนรู้รหัสของผู้อื่นได้อย่างไร (ในสถานการณ์การแจ้งหนี้) [ปิด]


16

แก้ไข: Justin Cave สร้างจุดที่ดีว่าการสื่อสารประเภทนี้ควรอยู่ตรงหน้าในการอ้างอิง / การประเมินของฉัน ในกรณีนี้ฉันยังสนใจที่จะรู้ว่าคนประเภทภาษาใดที่ใช้เพื่ออธิบายกิจกรรม 'การเรียนรู้โค้ดที่มีอยู่' โดยเฉพาะกับ บริษัท ที่ไม่ได้ทำสัญญากับผู้รับจ้างซอฟต์แวร์มาก่อน สิ้นสุดการแก้ไข

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

ก่อนอื่นฉันต้องทำความคุ้นเคยกับการทำงานของแอปพลิเคชัน - ฉันเรียนรู้ราวกับว่าฉันเป็นผู้ใช้

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

อย่างน้อยตอนเริ่มโครงการฉันใช้เวลานานในการเรียนรู้รหัสที่มีอยู่มากกว่าที่จะเขียนคุณลักษณะเพิ่มเติม

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

มีวิธีมาตรฐานในการอธิบายกิจกรรมประเภทนี้เมื่อเรียกเก็บเงินสำหรับงานหรือไม่?


เป็นคำถามที่ดี! มันเกือบจะเหมือนrefactoringแต่ไม่ใช่เพราะไม่มีการแก้ไขโดยนัย
ZJR

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

คำตอบ:


4

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

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


ฉันได้รวมงานต่าง ๆ เช่น "เรียนรู้รหัสที่มีอยู่" ในใบแจ้งหนี้โดยไม่มีปัญหาใด ๆ
tcrosley

13

การวินิจฉัยปัญหา

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

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


ขอบคุณอานนท์ ใช่ฉันคิดว่ามันต้องชัดเจนและอยู่ข้างหน้าแทนที่จะซ่อนไว้ครึ่งหนึ่งด้วยสายยาว
MattyG

6

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

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


ขอบคุณ Justin จุดดีอยู่ตรงนั้น คุณจะใช้ภาษาประเภทใดในระหว่างขั้นตอนการอ้างอิงงาน?
MattyG

3

ในความสามารถของฉันในฐานะนักแปลอิสระฉันอาจจะเรียกสิ่งนี้ว่า "การกลืนความรู้" ในแง่ทั่วไป และสิ่งนี้จะถูกรวมอยู่ในการประมาณการใด ๆ ที่ให้ไว้กับลูกค้าในขั้นต้น

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

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

หากคุณทำเช่นนี้คุณสามารถมีรายการใบแจ้งหนี้ที่ระบุบางอย่างเช่น "การทดสอบความรู้การดูดซึมและการรับรู้รหัสดั้งเดิม"

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


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

2

แก้ไขข้อบกพร่อง: การวิเคราะห์สาเหตุที่แท้จริง

คุณลักษณะใหม่: การวิเคราะห์การออกแบบการรวมและการทดสอบ

ขอแนะนำข้อบกพร่องใหม่: ความปลอดภัยของงาน :)


+1 สำหรับการวิเคราะห์สาเหตุที่แท้จริงแต่ -1 สำหรับส่วนที่เหลือของคำตอบนั้นมีรายละเอียดเล็กน้อย
Mark Booth

1

Codebase Familiarizationกับลูกค้าที่ชอบที่จะเข้าใจวิธีการทำงานและสิ่งที่ฟังผมด้วยดวงตาที่เหมือนฝันที่ฉันไปกับตรง ฉันได้อธิบายให้เขาฟังแล้วว่าความเจ็บปวดอะไรที่ทำให้ฉันเข้ามาและข้อดีของการมาหาฉันเพื่อการอัพเกรดเพิ่มเติม

กับลูกค้าประเภทอื่น ... (การรักษาแบบเดียวกัน แต่เขาไม่ฟังคำเดียวที่ฉันกำลังพูด ) เห็นได้ชัดว่าฉันจะไปกับสิ่งต่อไปนี้:

  • Planning Phase
  • Intervention Planning

    (ฉันใช้อันนี้จริง ๆ แล้ว แต่ฉันเขียนในภาษาอิตาลีซึ่งฟังดูดีกว่า)

  • จากนั้นอาจจะ ... Solution Planning

ฉันชอบDiagnosisส่วนของProblem Diagnosisข้อเสนอแนะโดยanonแต่Problemเสียงไม่เหมาะกับฉัน มันสามารถเปิดให้วิจารณ์รุนแรง, อคติ, ไม่รู้และผิวเผิน ... ที่อาจทิ้งรสชาติที่ไม่ดีอยู่เบื้องหลัง

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


1

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

ส่วน (แยกเป็นรายการ),

แรงงาน x @ $ y / ชั่วโมง = z)

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

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