2010-05-05 5 views
5

Tôi có một vấn đề mà tôi cảm thấy nhiều lập trình viên có thể liên quan đến ...Pre Documentation Project

Tôi đã làm việc trên nhiều dự án quy mô nhỏ. Sau cơn bão não giấy đầu tiên của tôi, tôi có xu hướng bắt đầu viết mã. Những gì tôi đưa ra thường là một mô hình làm việc thô của ứng dụng thực tế. Tôi thiết kế trong một thời trang bị ngắt kết nối vì vậy tôi đang nói về thư viện mã cơ bản, giao diện người dùng là điều cuối cùng như thư viện thường ra lệnh những gì cần thiết trong giao diện người dùng. Khi các dự án của tôi trở nên lớn hơn, tôi lo lắng rằng tài liệu thiết kế hoặc "spec" của tôi nên như vậy.

Đoạn trên, từ điều tra của tôi, được lặp lại trên toàn bộ internet theo cách này hay cách khác. Khi một giao diện người dùng có liên quan, có nhiều thông tin hơn một chút nhưng đó là giao diện người dùng cụ thể và không liên quan đến các thư viện mã. Điều tôi bắt đầu nhận ra là có thể mã là mã là mã. Dường như từ nghiên cứu mở rộng của tôi rằng không có ánh xạ 1: 1 giữa một tài liệu thiết kế và mã.

Khi tôi cần phải nghiên cứu một đề tài tôi đổ thông tin vào OneNote và từ đó tôi ưu tiên tính năng này vào phiên bản và sau đó vào khối liên quan để phát triển mà chạy trong một thời trang tương đối tuyến tính, nhiệm vụ của tôi có xu hướng để trông giống như vậy:

  1. Thực hiện file nhị phân đọc
  2. Thực hiện file nhị phân Writer
  3. Tạo Object để đóng gói dữ liệu cho biểu thức để người gọi

N ow bất kỳ lập trình viên nào đáng giá muối của mình đều nhận thức được rằng giữa ba người đó để làm các mục có thể là một bức tường tiềm năng của mã có thể mở rộng ra nhiều tệp. Tôi đã cố gắng lập bản đồ quy trình mã hoàn chỉnh cho từng công việc nhưng tôi không nghĩ rằng nó có thể được thực hiện một cách hiệu quả. Bởi thời gian một xâu giả mã nó là cơ bản mã anyway vì vậy đầu tư thời gian là phủ nhận.

Vì vậy, câu hỏi của tôi là:

Tôi có thể giả định rằng tài liệu tốt nhất là mã của chính nó. Tất cả chúng ta đều đồng ý rằng cần có một cái nhìn tổng quan cấp cao. Làm thế nào cao này nên được? Bạn có thiết kế để tuyên bố, lớp học hoặc khái niệm cấp? Điều gì làm việc cho bạn?

+1

"Tôi có đúng là giả định rằng tài liệu tốt nhất là chính mã đó không." Có, và tôi, cùng với các lập trình viên khác, nghĩ rằng đây là một sự thỏa hiệp không may. –

Trả lời

0

Cuối cùng tôi phát hiện ra rằng có một vài cách để tiếp cận này, từ tâm đồ để sơ đồ khái niệm và thậm chí UML/Pseudo Code. Cuối cùng, những gì từng làm việc tốt nhất cho cá nhân dường như là điều để sử dụng.

2

Tôi rất muốn khuyên bạn nên đọc Mã Hoàn thành 2 để có một số thông tin chi tiết tuyệt vời về các loại câu hỏi này.

http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670

+0

Tôi đã có nó và đã đọc bìa để trang trải. Tôi thấy rằng nó vẫn không giải quyết được vấn đề bên ngoài Mã Pseudo. Nó là một nguồn tài nguyên vô giá về xây dựng mã hóa nhưng tôi không cảm thấy nó trả lời câu hỏi thiết kế của tôi về những gì làm việc hoặc không có trong một spec. – deanvmc

1

Tôi nghĩ điều bạn muốn là đặc tả yêu cầu phần mềm.

Mã hóa tất cả nội dung theo cách hỗn loạn là chế độ sai khi thực hiện công việc! Điều bạn cần là tạo danh sách các yêu cầu chức năng/phi chức năng để tạo mối quan hệ được liên kết/liên quan/con/mẹ với yêu cầu của giao diện người dùng và cho diễn viên kinh doanh tạo ra trường hợp sử dụng. Sau khi bước này, bạn cần phải quản lý tất cả các giao diện thiết kế trong UML hoặc Mã SPEUDO, nhưng khi bạn được chính thức hoá các yêu cầu (đối với dự án nhỏ) thì cần phải có UML là putt off.

Đối với tài liệu về mã, bạn có thể sử dụng doxygen hoặc javadoc approch trong đó ngắn gọn, bạn chèn nhận xét trên mã và bằng phần mềm tất cả tài liệu được đưa vào HTML/PDF.

Với cách này bạn đang đạt được trong chuỗi công cụ này:

1 - phần mềm yêu cầu
Bây giờ bạn có cái nhìn tổng quan hoàn chỉnh các phần mềm của bạn là gì và có lẽ những gì chức năng mà bạn phần mềm cần với những gì trở ngại (kỹ thuật/không -technical/time/business). Và cũng là trường hợp người dùng để kiểm tra phần mềm trong giai đoạn cuối của vòng đời phát triển.

2 - UML hoặc PSEUDO CODE
Cách dễ dàng để chia công việc của bạn cho đồng nghiệp khác và tổng quan về mã đơn giản về thiết kế giao diện mã.

3 - tài liệu thư viện cho các lập trình viên khác như bạn và tất cả lợi ích để không lãng phí quá thời gian phù hợp để ghi lại tất cả tài liệu ở cuối dự án!

2 xu của tôi.

từ khóa google: vòng đời phát triển phần mềm doxygen kỹ thuật phần mềm, CMMI, IEEE SRS (Đặc điểm yêu cầu phần mềm).

+0

xứng đáng được nhiều phiếu bầu hơn – Sandy

+0

Cảm ơn bạn! :) Re-đọc câu trả lời của tôi bị lãng quên cho câu hỏi này cho tôi cảm thấy như một kỹ sư mềm chuyên nghiệp;) lol –