2010-01-06 27 views
5

Hôm nay tôi đã thực hiện thanh toán một số dự án nguồn mở chỉ vì tò mò. Vì vậy, sau một thời gian tôi đã nhìn vào mã của OTTD (http://www.openttd.org/), tôi chỉ không biết bắt đầu tìm kiếm ở đâu hoặc làm thế nào để hiểu dự án. Tôi biết bạn không thể làm quen với các dự án lớn như vậy trong một hoặc hai ngày, nhưng làm thế nào để các bạn xử lý những thứ như vậy nơi bạn bắt đầu những gì bạn tìm kiếm etcetera etcetera ..Làm cho bạn quen thuộc với các dự án

+0

Bất kể bạn làm gì, bạn cũng nên lưu nhật ký ghi chú (xây dựng các dòng lệnh bạn chạy, chức năng bạn truy tìm, ý tưởng bạn có, v.v.) Nó không chỉ giúp bạn nếu bạn quên, nhưng bạn cũng có thể đóng góp chúng vào wiki của dự án hoặc tạo một bài đăng trên blog của riêng bạn về những phát hiện của bạn. – HostileFork

Trả lời

1

Documents for the source of OpenTTD: http://docs.openttd.org/, chúng sẽ hữu ích.

Ngoài ra, dev wiki: http://wiki.openttd.org/Development.

Làm thế nào để làm quen?

Trước tiên, hãy thử biên dịch. Biên dịch nó cho nền tảng của bạn và đảm bảo nó chạy đúng.

Sau đó, nhận lỗi hoặc thứ gì đó từ danh sách công việc phải làm và cố gắng triển khai hoặc chỉ chơi trò chơi và suy nghĩ về việc thêm/thay đổi điều gì đó đơn giản. Tất nhiên bạn có thể thất bại và muốn thay đổi nhiệm vụ của mình, nhưng mọi nỗ lực sẽ là một bước để hiểu được cấu trúc của một dự án.


Đối với tôi, phần biên dịch là phần khó chịu nhất. Tôi nghĩ rằng đó là bởi vì tôi đang ở trên Windows :-) Tôi đã hầu như không bao giờ quản lý để biên dịch một cái gì đó từ đầu mà không có ngày suy nghĩ và gửi thư rác người vv Nhưng tôi nhanh chóng quen với nhiều dự án mà không cần phải được biên soạn, như vậy như được viết bằng PHP hoặc Python hoặc JavaScript.

Tôi vừa làm điều gì đó với mã. Đã thay đổi một số hằng số quan trọng :-) Viết plugin. Bất cứ điều gì. Và một ngày tôi hiểu rằng bây giờ, Nếu tôi chọn hầu như bất kỳ nhiệm vụ nào từ bộ theo dõi vấn đề, tôi sẽ có thể tìm ra ít nhất là vấn đề nằm ở đâu.

Nếu bạn chỉ đọc mã, bạn sẽ không biết rõ! Ngay cả những cuốn sách hư cấu (tốt) cũng không thể được hiểu đầy đủ chỉ bằng cách đọc chúng lặp đi lặp lại.

0

Rất nhiều lần giúp có nhiều giấy cào, hoặc một số công cụ lập biểu đồ nhanh - khi bạn bắt gặp mọi thứ, hãy phác họa cách chúng liên quan với nhau. Theo thời gian, bạn sẽ có được một cảm giác như thế nào những điều được đặt ra và những gì tương tác với những gì, loại giống như một sơ đồ lớp học đặc biệt (nhưng nhiều hơn nữa tự do).

Chọn điểm bắt đầu ở đâu đó mà bạn có thể xác định: có thể đây là quá trình xử lý đầu vào của người dùng, có thể đó là chuỗi khởi tạo cho chương trình - và theo dõi luồng thực thi từ đó để có ý tưởng về cách mọi thứ xảy ra.

Hy vọng rằng, mã nguồn có các nhận xét hữu ích - thậm chí có thể trong trường hợp của OpenTTD, các nhận xét kiểu doxygen, vì vậy bạn có thể nhận được set of docs tốt đẹp cho nó.

1
  1. Tải xuống mã.

  2. Thiết lập nó trong IDE yêu thích của bạn để nó xây dựng và chạy.

  3. Đặt một breakpoint ở phần đầu của main()

  4. Dành thời gian chất lượng bước qua trong debugger :)

Cung cấp cho bạn một cảm giác tốt về cách thức điều được đặt lại với nhau, nơi phụ thuộc và những gì sẽ xảy ra khi bạn làm những việc trong ứng dụng.

1

Một chiến lược hay khác là bắt đầu từ một số phần mềm mà bạn sử dụng, ngay cả khi bạn dựa vào. Sau đó, tìm lỗi gây phiền nhiễu nhất và sửa nó.

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