2009-06-23 28 views
16

Tôi đã từ chức khỏi nơi làm việc hiện tại của mình hôm qua và tôi sẽ tự mình viết tài liệu cho các dự án của mình để tôi có thể giao cho họ dễ dàng.Mã tài liệu khi rời khỏi công ty

Lưu ý rằng mã của tôi đã được nhận xét theo tiêu chuẩn tốt, tôi nên đặt những thứ gì khác cùng nhau để giúp các nhà phát triển đồng nghiệp tiếp quản dự án của tôi?

+0

Tôi đang bỏ phiếu để đóng câu hỏi này là không có chủ đề vì nó không liên quan đến lập trình –

Trả lời

20

Khi làm việc với mã mới được viết bởi người khác, điều đầu tiên mà người mới (hoặc cô gái) thiếu là tổng quan về Hệ thống. Những hệ thống con nào ở đó, mục đích của chúng là gì và ở đâu nên xem xét để hoàn thành một nhiệm vụ nhất định trong tầm tay là một số câu hỏi mà bạn nghĩ đến. Một tài liệu khởi đầu ngắn gọn, giải thích thiết kế hệ thống tổng thể (và lý do tại sao thiết kế này được chọn) có lẽ với một số sơ đồ, sẽ là điều tôi thực sự vui khi nhận được một phần mềm do người khác viết .

+8

Đồng ý. Hãy ngồi xuống và suy nghĩ về những gì bạn cần khi bạn tham gia công ty tiếp theo của bạn. –

+5

Tôi thêm một thứ khác, (một tài liệu khác cho các lỗi đã biết và chưa được giải quyết) –

+0

Vì vậy, một tổng quan rộng và một số câu hỏi cơ bản & như? Các tính năng chưa được giải quyết/không đầy đủ là một ý tưởng tuyệt vời để viết ra quá. – GenericTypeTea

3

Cá nhân tôi viết tất cả tài liệu của mình theo kiểu từ trên xuống, trước tiên đưa ra định nghĩa cho tất cả các cụm từ (để thiết lập từ vựng chung) và sau đó giải thích chủ đề được đề cập theo thuật ngữ rộng, tinh chỉnh chi tiết hơn nữa. Vì vậy, loại tài liệu này bao gồm tất cả các phần chính của hệ thống sẽ làm khá độc đáo. Ngoài ra, nó sẽ là tốt đẹp nếu bạn cung cấp lý do cho các quyết định kiến ​​trúc trong các dự án của bạn.

+1

Về tính hợp lý cho các dự án cũ ... Làm thế nào để bạn giải thích lý do đằng sau việc làm gì đó 18 tháng trước mà bây giờ bạn biết là sai ... hay đúng hơn là không đúng lúc đó, nhưng bây giờ bạn biết đó không phải là cách tốt nhất? – GenericTypeTea

+2

Cá nhân tôi viết tất cả những suy nghĩ của mình xuống trong một wiki nhỏ "dễ sử dụng" .vì có điều gì đó không đúng, tôi chỉ cần tìm kiếm trên wiki của mình ... sau đó tôi chỉ nói chuyện với đồng nghiệp của tôi về vấn đề này và viết nó trong tài liệu của tôi. Đối với tôi, điều quan trọng là viết mọi thứ xuống. Đôi khi nó là một thông tin quá mức, nhưng nó làm việc cho tôi. :-) – bastianneu

+0

@GenericTypeTea - Trong trường hợp đó bạn có thể tài liệu - 1) tại sao thiết kế được chọn tại thời điểm đó 2) tại sao nó được coi là sai/lỗi thời và 3) tại sao nó không thể thay đổi được sau khi thực tế/như thế nào bạn đã có kế hoạch thay đổi nó. – samitgaur

2

Sơ đồ trình tự UML cho bất kỳ tương tác lớp/hệ thống phức tạp nào, sơ đồ lớp cho bất kỳ thiết kế OO phức tạp nào khác và sơ đồ mức hệ thống cho thấy các hệ thống và ứng dụng khác nhau kết nối như thế nào.

1

Bạn có thể giải thích thiết kế của dự án, cách một số tính năng quan trọng hoạt động và có thể bạn có thể ghi lại bất kỳ cải tiến nào trong tương lai mà bạn đã lên kế hoạch.

4

Cân nhắc tạo tài liệu tổng quan cấp cao nhất của bạn một Wiki - nó cho phép các đồng nghiệp cũ của bạn sớm chỉnh sửa và mở rộng nó một cách dễ dàng.

Và lý do (như đã đề cập) rất hữu ích: Tại sao bạn chọn giải pháp A, khi các giải pháp B và C trông đẹp hơn nhiều đối với một người quan sát bình thường? Nó có thể nip tất cả các loại thảo luận vô tận trong chồi.

3

Điều này có thể hiển nhiên, nhưng nếu các dự án không biên dịch/chạy "ra khỏi hộp" khi kiểm tra lần đầu tiên đến môi trường phát triển mới (dĩ nhiên là cần), hướng dẫn từng bước về cách để mọi thứ hoạt động và chạy sẽ giúp người mới khỏi bị đau đầu.

4

Tôi ước gì mình không có gì để nói ở đây, nhưng khi người nhận chuyển mã qua nhiều lần suy thoái, cải tổ kỹ năng, tôi muốn lặp lại và thêm vài điểm vào câu trả lời trước.

Tôi cho rằng ban quản lý của bạn đã chỉ định một hoặc nhiều người tiếp quản công việc của bạn.

Bạn đã nói bạn không cần nó, nhưng đây không phải lúc để thêm nhận xét vào mã.

Nó đã được chỉ ra rằng chủ sở hữu mới của phần mềm cần một cái nhìn tổng quan cấp cao, phần mềm làm gì và những gì cần thiết để làm điều đó. Giữ bản tóm tắt này, và cố gắng không để nó phát triển trong 'phần mềm trông như thế nào', đừng bận tâm đến việc kiến ​​trúc lại hệ thống từ ngôi mộ.

Sau đó chuyển sang các vấn đề thực tế: ai là bên liên quan, người thử nghiệm và bất kỳ ai khác đã và có thể tham gia và biết về phần mềm này.

Các yêu cầu tài liệu và PR khác ở đâu, có điều gì đặc biệt đáng chú ý trong PR là các yêu cầu sắp tới không?

Kiểm soát phiên bản ở đâu là phần mềm, là mọi thứ trong đó? Có thật không?

Điều gì cần thiết để xây dựng phần mềm?

Thời gian quý giá nhất sẽ được chi cho việc xác minh hai điểm cuối: Tạo lại môi trường xây dựng hoàn chỉnh từ kiểm soát phiên bản và xây dựng (kiểm tra/phân phối) từ máy của chủ sở hữu mới. Nếu có thời gian, hãy khắc phục sự cố đơn giản.

Chúc bạn may mắn trong công việc mới!

1

Một người khác đã đề cập đến việc ghi lại toàn bộ chuỗi công cụ của bạn để giúp ai đó thiết lập môi trường dev. Một điều khác có thể hơi quá meta là phải ghi lại lý do tại sao bạn sử dụng các công cụ đó. Không có gì tồi tệ hơn là bắt đầu từ đâu đó mới và lập kế hoạch xé tất cả các MS Word bằng rễ, chỉ để tìm ra khi bạn đang khuỷu tay sâu trong quá trình văn phòng bán hàng của Đức phải có báo cáo TPS của họ được tạo ra ở định dạng đó và không thể sử dụng JSON wizbang mà bạn muốn thay thế bằng.

Các vấn đề liên quan