오늘은 호기심 때문에 오픈 소스 프로젝트를 체크 아웃했습니다. 그래서 잠시 후 OTTD 코드 (http://www.openttd.org/)를보고 있었는데, 어디서부터 시작해야할지, 어떻게 프로젝트를 이해해야하는지 알지 못했습니다. 나는 당신이 1-2 일 안에 큰 프로젝트에 익숙하지 않다는 것을 안다. 그러나 어떻게 너희들은 그런 것들을 어떻게 다루는가 등등을 찾아야한다.프로젝트에 익숙해지기
답변
OpenTTD의 출처에 대한 문서 : http://docs.openttd.org/, 그들은 도움이 될 것입니다.
또한 dev wiki : http://wiki.openttd.org/Development입니다.
익숙한 방법?
먼저 컴파일을 시도하십시오. 플랫폼으로 컴파일하고 올바르게 실행되는지 확인하십시오.
그런 다음 할 일 목록에서 버그 또는 무언가를 선택하여 구현하거나 게임을하고 간단한 추가/변경에 대해 생각하십시오. 물론 실패하고 작업을 변경하려고 할 수 있지만 모든 시도는 프로젝트의 구조를 이해하는 단계입니다.
나를 위해 컴파일 부분이 가장 성가신 부분입니다. 생각하기에 윈도우즈에 있기 때문에 생각합니다 .-- 나는 생각이나 스팸 등의 일없이 무언가를 처음부터 컴파일하는 일은 거의하지 못했습니다.하지만 컴파일 할 필요가없는 많은 프로젝트에 익숙해졌습니다. PHP 또는 Python 또는 JavaScript로 작성된 것입니다.
방금 코드를 사용했습니다. 몇 가지 중요한 상수를 변경했습니다 :-) 플러그인 작성. 도대체 무엇이. 그리고 언젠가 나는 그것을 이해했습니다. 문제 추적기에서 거의 모든 작업을 선택하면 적어도 문제가있는 곳을 찾을 수 있습니다.
코드를 읽는 경우 잘 알 수 없습니다. 심지어 (좋은) 소설 도서는 여러 번 읽는 것으로 만 완전히 이해 될 수 없습니다.
많은 스크래치 종이 또는 빠른 다이어그램 도구의 일부 형식을 갖는 데 많은 시간을 할애합니다. 서로 얽힌 것처럼 서로 어떻게 관련되어 있는지 스케치하십시오. 시간이 지남에 따라 물건 배치 방법과 무엇과 상호 작용하는지, 즉 일종의 특별 수업 다이어그램 (그러나 훨씬 더 자유로운 형태)과 같은 감각을 얻을 수 있습니다.
식별 할 수있는 시작 지점을 선택하십시오. 어쩌면 이것이 사용자 입력 처리이며 프로그램의 초기화 순서 일 수 있습니다. 실행 순서를 추적하여 상황이 어떻게되는지 알 수 있습니다.
OpenTTD의 경우 doxygen 스타일 주석에 소스 코드가 도움이 될만한 의견이 있었기를 바랍니다. set of docs을 얻을 수 있습니다.
코드를 다운로드하십시오.
좋아하는 IDE에서 빌드하여 실행되도록 설정하십시오.
는 메인의 시작()
디버거 :
당신에게 물건을 함께 넣어하는 방법에 대한 좋은 느낌을주는에서 단계별로 약간의 품질 시간을 보내에 중단 점을 설정 종속성은 어디에 있으며, 앱에서 일을하면 어떻게됩니까?
또 다른 좋은 전략은 사용하는 소프트웨어의 일부부터 시작하는 것입니다. 그런 다음 가장 성가신 버그를 찾아 수정하십시오.
- 1. 새로운 코드베이스에 익숙해지기 위해서
- 2. SQLAlchemy에 익숙해지기 가장 쉬운 방법/최고의 튜토리얼은 무엇입니까?
- 3. 다른 프로젝트에 하나의 프로젝트에 대한 DLL 참조
- 4. IE는이 프로젝트에
- 5. 이클립스에서 프로젝트에 의해 jar 빌드를 프로젝트에 추가하는 방법은 무엇입니까?
- 6. 데이터베이스 프로젝트에 게시 빌드
- 7. Subversion : 프로젝트에 파일 추가
- 8. Xcode 프로젝트에 GraphicsMagick 추가
- 9. tfs를 다른 프로젝트에 연결
- 10. Silverlight의 WCF 프로젝트에 액세스하십시오.
- 11. 암호 프로젝트에 대한 조언
- 12. link Cloudmade 프로젝트에
- 13. MonoTouch 프로젝트에 리소스 추가
- 14. mfc를 프로젝트에 추가 하시겠습니까?
- 15. PHP 내 JavaScript 프로젝트에
- 16. PHP : 프로젝트에 doctrine 설치하기
- 17. 이클립스 프로젝트에 JAR 추가
- 18. Xcode 프로젝트에 dgl을 포함하십시오.
- 19. Mac 프로젝트에 라이브러리 포함
- 20. 기존 프로젝트에 거북이 사용
- 21. .licx를 주 프로젝트에 추가해야합니까?
- 22. 설치 프로젝트에 폴더 포함
- 23. 기존 프로젝트에 Grails 추가하기
- 24. -L을 프로젝트에 넣습니다.
- 25. 아이폰 프로젝트에 이미지 추가
- 26. mfc 프로젝트에 클래스 추가
- 27. 레일 프로젝트에 도움
- 28. 프로젝트에 대한 참조를 C#
- 29. 프로젝트에 default.properties 파일이 없습니다!
- 30. 프로젝트에 제어 템플릿 추가하기
무슨 일을하든, 메모 기록 (실행 한 명령 줄 빌드, 추적 한 기능, 생각한 것 등)을 기록해 두는 것이 좋습니다. 잊어 버리면 도움이 될뿐만 아니라, 그들을 프로젝트의 위키에 기여하거나 발견 한 내용에 대한 자신의 블로그에 게시물을 올리십시오. – HostileFork