Создание себя знакомый с [закрытыми] проектами

5
задан Billy ONeal 8 June 2011 в 01:51
поделиться

4 ответа

Документы для источника OpenTTD: http://docs.openttd.org/ , они будут полезны.

Также вики для разработчиков: http://wiki.openttd.org/Development .

Как познакомиться?

Сначала попробуйте скомпилировать. Скомпилируйте его для своей платформы и убедитесь, что он работает правильно.

Затем выберите ошибку или что-нибудь из списка дел и попробуйте реализовать ее, или просто поиграйте в игру и подумайте о добавлении / изменении чего-то простого. Конечно, вы можете потерпеть неудачу и захотите изменить свою задачу, но каждая попытка будет шагом к пониманию структуры проекта.


Меня больше всего раздражает компилирующая часть. Я думаю, это потому, что я работаю в Windows :-) Мне почти никогда не удавалось скомпилировать что-то с нуля, не думая, не спамируя людей и т. Д. Но я быстро привыкаю ко многим проектам, которые не нужно компилировать, например как написано на PHP, Python или JavaScript.

Я только что что-то сделал с кодом. Изменены некоторые важные константы :-) Написание плагинов. Что бы ни. И однажды я понял, что теперь, если я выберу практически любую задачу из трекера проблем, я смогу выяснить, по крайней мере, где находится проблема.

Если вы просто читаете код, вы не узнаете его хорошо! Даже (хорошие) художественные книги нельзя полностью понять, только читая их снова и снова.

1
ответ дан 15 December 2019 в 06:27
поделиться
  1. Загрузите код.

  2. Настройте его в своей любимой IDE так, чтобы он собирался и запускался.

  3. Установите точку останова в начале main()

  4. Проведите некоторое время в отладчике :)

Получите хорошее представление о том, как вещи собираются вместе, где находятся зависимости и что происходит, когда вы делаете что-то в приложении.

1
ответ дан 15 December 2019 в 06:27
поделиться

Другая хорошая стратегия - начать с некоторого программного обеспечения, которое вы используете, даже с того, на которое вы полагаетесь. Затем найдите самую раздражающую ошибку и исправьте ее.

1
ответ дан 15 December 2019 в 06:27
поделиться

Во многих случаях это помогает иметь много скрэтч-бумагу или какой-нибудь инструмент для быстрого нанесения диаграмм - по мере того, как вы сталкиваетесь с вещами, зарисовываете, как они соотносятся друг с другом. Со временем Вы получите представление о том, как все укладывается и что с чем взаимодействует, что-то вроде специальной диаграммы класса (но гораздо более свободной формы).

Выберите начальную точку, которую можно где-нибудь идентифицировать: может быть, это пользовательская обработка входных данных, может быть, это последовательность инициализации программы - и отследите оттуда поток выполнения, чтобы получить представление о том, как все происходит.

Надеюсь, в исходном коде были полезные комментарии - может быть, даже, в случае OpenTTD, комментарии в стиле doxygen, так что вы можете получить для него хороший набор docs.

0
ответ дан 15 December 2019 в 06:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: