2009-02-19 30 views
6

Giả sử bạn phải triển khai một số chức năng không quan trọng (sẽ mất ít nhất 1 tuần làm việc). Bạn có SDK/API/thư viện chứa (nhiều) mẫu mã thể hiện việc sử dụng một phần của SDK để triển khai chức năng đó.Làm thế nào để tiếp cận việc học một SDK/API/thư viện mới?

Làm thế nào để bạn tiếp cận việc học tất cả các mẫu, trích xuất các thông tin cần thiết, kỹ thuật, vv để sử dụng chúng để thực hiện 'điều thực'. Các câu hỏi chính là:

  • Bạn có sử dụng một số công cụ để lập biểu đồ luồng điều khiển, tương tác giữa các chức năng từ SDK và mẫu không? Bạn thấy loại biểu đồ nào hữu ích? (Tôi đã nghĩ rằng sơ đồ trình tự UML có thể khá hữu ích cùng với trình gỡ lỗi trong trường hợp này).

  • Làm cách nào để bạn giữ thông tin liên quan và thường có liên quan về các cuộc gọi hàm SDK/API, cấu trúc chung và thứ tự cuộc gọi trong các chương trình mẫu phải được sử dụng làm bản đồ tham chiếu, một số ghi chú văn bản thuần túy ý kiến ​​trong mã mẫu, một số tái cấu trúc mã mẫu cho phù hợp với phong cách mã hóa cá nhân của bạn để làm cho việc học dễ dàng hơn?

Trả lời

5

Cá nhân tôi sử dụng phương pháp tạo mẫu. Tiếp tục phát triển để lặp lại có thể quản lý. Ban đầu, những lần lặp lại này thực sự nhỏ. Là một phần của điều này, đừng sợ ném mã đi và bắt đầu lại (mỗi khi tôi nói rằng một nơi nào đó một người quản lý dự án có một cơn đau tim).

Nếu nhiệm vụ cụ thể của bạn không thể dễ dàng hoặc hợp lý được chia thành các nhiệm vụ bắt đầu thực sự nhỏ, hãy bắt đầu với một số thay thế cho đến khi bạn bắt đầu.

Bạn muốn giữ cho nó đơn giản như bạn có thể làm quen với việc xây dựng, triển khai, gỡ lỗi, thông báo lỗi trông như thế nào, những điều đơn giản có thể và làm sai trong bắt đầu, v.v.

Tôi không đi xa như sử dụng công cụ vẽ sơ đồ xin lỗi (Tôi hầu như không thấy điểm trong đó cho công việc của mình).

Ngay khi bạn bắt đầu thử những thứ bạn sẽ gặp phải, ngay cả khi ban đầu bạn không biết chuyện gì đang xảy ra và tại sao bạn đang làm việc (hoặc không).

+0

Tôi phải đồng ý. Sự hiểu biết sơ cứu về nguyên mẫu mã. Không có chúng và sự hiểu biết chúng cho phép bạn không thể hy vọng tạo ra một sơ đồ mô hình chính xác. –

2

Tôi thường biên dịch và sửa đổi các ví dụ, làm cho chúng phù hợp với điều tôi cần làm. Tôi có xu hướng làm điều này trong khi sử dụng và chú thích các tài liệu tương ứng. Là một trường cũ, công cụ tôi thường sử dụng để vẽ sơ đồ là một cây bút chì, hoặc cho những thứ thực sự phức tạp hai hoặc nhiều bút màu.

1

Tôi không phải là một lập trình viên dày dạn kinh nghiệm. Trong thực tế, tôi đang học C++ và tôi đã học ngôn ngữ chủ yếu từ sách. Khi tôi cố gắng đi lạc khỏi các cuốn sách (điều này xảy ra rất nhiều vì tôi muốn bắt đầu đóng góp cho các chương trình như LibreOffice), ví dụ, tôi thấy mình bị lạc. Hơn nữa, khi tôi đang sử dụng chức năng của thư viện, triển khai của tôi là sai bởi vì tôi không thực sự hiểu cách thư viện được tạo ra và/hoặc tại sao mọi thứ cần phải được thực hiện theo cách đó. Khi tôi nhìn vào mã nguồn mẫu, tôi thấy làm thế nào một cái gì đó được thực hiện, nhưng tôi không hiểu tại sao nó được thực hiện theo cách đó dẫn đến thiết kế kém của chương trình của tôi. Và kết quả là, tôi liên tục đoán làm thế nào để làm một cái gì đó và đối phó với các lỗi như tôi gặp họ. Rất không hiệu quả và bực mình.

Quay lại nhận xét sách của tôi, hai cuốn sách mà tôi đã sẵn sàng từ bìa để trang trải nhiều hơn một lần là Bắt đầu Visual C++ 2010 của Ivor Horton và Bắt đầu với C++: Đối tượng ban đầu (ấn bản lần thứ 7).Những gì tôi thực sự yêu thích về cuốn sách của Ivor Horton là nó có giải thích kỹ lưỡng về lý do tại sao một cái gì đó cần phải được thực hiện một cách nhất định. Ví dụ, trước khi bất kỳ chương trình Windows nào bắt đầu, rất nhiều giải thích về cách Windows hoạt động được đưa ra đầu tiên. Hiểu được cách thức và lý do tại sao mọi thứ hoạt động theo một cách nào đó thực sự giúp ích trong cách tôi phát triển phần mềm.

Vì vậy, để đóng góp hai xu của tôi để trả lời câu hỏi của bạn. Tôi nghĩ cách tiếp cận tốt nhất là nhận những cuốn sách được viết tốt và ngồi xuống và bắt đầu tìm hiểu về thư viện, API, SDK, bất kỳ thứ gì trong cách tiếp cận có cấu trúc cung cấp các ví dụ thực tế cùng với giải thích về cách thức và lý do là.

Tôi không biết nếu tôi hoàn toàn bỏ lỡ câu hỏi của bạn, nhưng tôi không nghĩ rằng tôi đã làm.

Chúc mừng!

Đây là bài đăng đầu tiên của tôi trên trang web này. Đừng làm tôi quá khó. (:

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