Но лучше таки пользоваться TortoiseHG и без проблем затянуть исходники и требуемые компоненты.zed писал(а):На странице с исходниками есть кнопочка download по которой загружаются самые свежие исходники.
Вопросы по исходному коду
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Вопросы по исходному коду.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Re: Вопросы по исходному коду.
Всем привет!
Есть ли какое-то коротенькое описание исходного кода и основных объектов?
Достаточно сложно разбираться в коде, тем более он изобилует наследование и интерфейсами - т.е. до реализации метода сразу не доберешься, чтобы узнать что же в нем происходит.
Так же к модулям, классам и интерфейсам нет описания, хоть бы строчку, за что он отвечает и какой АТД представляет. А так приходится догадаться по названию, что не всегда удачно, в виду картографической терминологии и объема информации.
Прошу авторов не вставать на быды, сам код в пределах метода очень даже читаем и понятен! Но комментариев нет и это факт, да и код не 10 строк
Например, сейчас хочу разобраться с "ядром" - как на форме определяется, какие это географические координаты, далее как формируется запрос серверу и выводится загруженное изображение в нужную точку (опять пересчет только из lat/lon в y/x ?). Ну и хранилище... отдельная тема...
Есть ли какое-то коротенькое описание исходного кода и основных объектов?
Достаточно сложно разбираться в коде, тем более он изобилует наследование и интерфейсами - т.е. до реализации метода сразу не доберешься, чтобы узнать что же в нем происходит.
Так же к модулям, классам и интерфейсам нет описания, хоть бы строчку, за что он отвечает и какой АТД представляет. А так приходится догадаться по названию, что не всегда удачно, в виду картографической терминологии и объема информации.
Прошу авторов не вставать на быды, сам код в пределах метода очень даже читаем и понятен! Но комментариев нет и это факт, да и код не 10 строк
Например, сейчас хочу разобраться с "ядром" - как на форме определяется, какие это географические координаты, далее как формируется запрос серверу и выводится загруженное изображение в нужную точку (опять пересчет только из lat/lon в y/x ?). Ну и хранилище... отдельная тема...
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Вопросы по исходному коду.
Нет. Увы, что есть, то есть.EVGENRUS писал(а):Есть ли какое-то коротенькое описание исходного кода и основных объектов?
Можете начать участие в проекте с попытки написать описания к интерфейсам и класса. Пишите так как вы это понимаете по названию и оформляйте пуллреквест. Я обещаю внимательно читать и исправлять если вы ошибетесь. Главное небольшими порциями.EVGENRUS писал(а):рошу авторов не вставать на быды, сам код в пределах метода очень даже читаем и понятен! Но комментариев нет и это факт, да и код не 10 строк
Если найдете названия интерфейсов и классов, для которых сможете предложить лучшие имена, тоже не стесняйтесь, только это лучше сначала посоветоваться здесь, а лучше создав инцидент в багтрекере с типом "Рефакторинг"
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Re: Вопросы по исходному коду.
Понятно.vdemidov писал(а):Нет. Увы, что есть, то есть.EVGENRUS писал(а):Есть ли какое-то коротенькое описание исходного кода и основных объектов?Можете начать участие в проекте с попытки написать описания к интерфейсам и класса. Пишите так как вы это понимаете по названию и оформляйте пуллреквест. Я обещаю внимательно читать и исправлять если вы ошибетесь. Главное небольшими порциями.EVGENRUS писал(а):рошу авторов не вставать на быды, сам код в пределах метода очень даже читаем и понятен! Но комментариев нет и это факт, да и код не 10 строк
Если найдете названия интерфейсов и классов, для которых сможете предложить лучшие имена, тоже не стесняйтесь, только это лучше сначала посоветоваться здесь, а лучше создав инцидент в багтрекере с типом "Рефакторинг"
А пуллреквесты можно делать без подключения права write на трекере? Так было бы конечно удобно.
Возможно, сегодня обнаружил ошибку i_VectorItmesFactory. Вместо Items. Интерфейс так же назван с ошибкой IVectorItmesFactory, и другие упоминания, типа ( const AVectorItmesFactory: IVectorItmesFactory ).
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Вопросы по исходному коду.
Все что нужно это зарегистрироваться на бибукете и сделать форк репозитория. Потом делаете исправления, коммитите их. Отправляете их в свой форк и уже потом в веб интерфейсе битбукета отправляете пул-реквест. Мороки чуть больше, зато гораздо больше порядка.EVGENRUS писал(а):А пуллреквесты можно делать без подключения права write на трекере? Так было бы конечно удобно.
Стопудово опечатка. Спасибо. Эту я и так поправлю, а на будущее, лучше всего писать тикет в трекере. А такие особо явные можно и самому исправлять.EVGENRUS писал(а):Возможно, сегодня обнаружил ошибку i_VectorItmesFactory. Вместо Items. Интерфейс так же назван с ошибкой IVectorItmesFactory, и другие упоминания, типа ( const AVectorItmesFactory: IVectorItmesFactory ).
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Вопросы по исходному коду.
Еще, небольшая просьба по возможности пользоваться такой вещью как Rebase. То есть если вы сделали коммит изменений, но еще никуда не залили и видите, что в основной ветке появились новые коммиты, то по возможности лучше затянуть их к себе и переместить свои коммиты на голову ветки перед тем как отправлять на сервер и создавать пулл-реквест. Но это исключительно просьба, если лень, то можно и проигнорировать.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
Fed
- Новичок
- Сообщения: 19
- Зарегистрирован: 25 дек 2012, 13:28
- Откуда: Сосновый Бор
- Благодарил (а): 4 раза
Re: Вопросы по исходному коду.
Подскажите, каким образом (какой модуль) происходит чтение (запись) настроек из *SASPlanet.ini*?
Есть необходимость внести 2 строчки в этот файл настроек:
1. Занимаюсь реализацией функции каскадного включения/выключения категорий меток (Хотелка 917), чтобы была возможность включить (выключать) эту функцию в зависимости от настроек SASPlanet.ini
2. Так же, в SASPlanet.ini необходимо настроить доступ к кнопки «Экспорт», чтобы была возможность отключения этой кнопки –> btnExpotr.Enabled:=False/True (в окне «Управления меток» (frm_MarksExplorer)).
Есть необходимость внести 2 строчки в этот файл настроек:
1. Занимаюсь реализацией функции каскадного включения/выключения категорий меток (Хотелка 917), чтобы была возможность включить (выключать) эту функцию в зависимости от настроек SASPlanet.ini
2. Так же, в SASPlanet.ini необходимо настроить доступ к кнопки «Экспорт», чтобы была возможность отключения этой кнопки –> btnExpotr.Enabled:=False/True (в окне «Управления меток» (frm_MarksExplorer)).
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Вопросы по исходному коду.
А там это дело не в одном файле зашито. Можно считать, что практически каждая секция в ini это отдельный конфиг, co своим интерфейсом и реализацией.
-
Fed
- Новичок
- Сообщения: 19
- Зарегистрирован: 25 дек 2012, 13:28
- Откуда: Сосновый Бор
- Благодарил (а): 4 раза
Re: Вопросы по исходному коду.
Это я понимаю, посмотрел код на примере секции [MarksShow] (он больше подходит для формы frm_MarksExplorer).zed писал(а):А там это дело не в одном файле зашито. Можно считать, что практически каждая секция в ini это отдельный конфиг, co своим интерфейсом и реализацией.
И стал смотреть, где используется переменная IgnoreCategoriesVisible (в 4-х файлах):
frm_MarksExplorer.pas
i_UsedMarksConfig.pas
u_UsedMarksConfig.pas
u_UsedMarksConfigStatic.pas
Первые три в общих чертах ясны (хотя дополнительное описание хорошо бы помогло), а вот u_UsedMarksConfigStatic.pas в данном случае для чего?
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Вопросы по исходному коду.
Конфиги, с постфиксом *Static, это конфиги только для чтения. Не забываем, что программа многопоточная и пока вы читаете один параметр конфига, кто-то может изменить другой параметр, а иногда нам надо получить конфиг "как есть" на данный момент. Да и статический конфиг будет банально быстрее, т.к. там нету блокировок (синхронизации) на чтение/запись.