roboforum.ru

Технический форум по робототехнике.

МиниБот Студия

Re: МиниБот Студия

Vooon » 29 авг 2008, 19:35

Заметки на полях к посту выше.

Для языков с развитой интроспекцией можно обойтись и без методов SaveXML/LoadXML, только не нужно использовать приватные параметры, что для класса настроек имхо вполне нормально.

Использование XML не дает не заботиться о совместимости версий проектов, версию формата всеже стоит писать (и желательно подписывать DTD).
Посмотрите на ODF 1.1 и ODF 1.2. Другое дело что с зумлем скорее всего не придется держать несколько модулей сериализации.

Re: МиниБот Студия

svp » 29 авг 2008, 19:54

Vooon писал(а):Для языков с развитой интроспекцией можно обойтись и без методов SaveXML/LoadXML

Речь-то идёт о delphi. В дельфёвском механизме сериализации классов новичек без поллитры не разберётся. Я просто привёл самый понятный (пардон за слово простой) метод. Вообще, конечно, можно написать Reader и Writer для сериализации свойств в XML. Да и наверняка уже есть готовые решения. Я ещё раз повторюсь, речь шла о наиболее понятном решении.

Vooon писал(а):Использование XML не дает не заботиться о совместимости версий проектов, версию формата всеже стоит писать (и желательно подписывать DTD).

Здесь тоже имелось виду несколько другое. Речь не о версиях формата, как таковых, а о новых данных и тегах, включаемых в проект по мере совершенствования проекта. Вы сейчас говорили с позиции профессионального программиста. На сколько я понимаю, MiBBiM ещё новичек. Если он сейчас начнёт углубляться в такие дебри, о которых идёт речь, то ему станет скучно и проект увязнет.
Может быть далеко в будущем и произойдёт переход на какой-то "продвинутый" формат.. вопрос в том, доживём ли мы до этой светлой поры и не устареет ли к тому времени вся идея как таковая.

Re: МиниБот Студия

MiBBiM » 29 авг 2008, 20:10

svp писал(а):1. Полно стандартных парсеров.

Не достоинство, ибо в делфи представлен мощный механизм сериализации в бинарный файл
svp писал(а):2. Легко разобраться со структурой.

Для бинарника не сложнее. Даже разбираться не надо, ибо сохранил экземляр класса и загрузил его.
svp писал(а):3. Легко отлаживать (просто видно глазами что не так).

Повторюсь, загрузил и сохранил. Больше ничего знать не надо)
svp писал(а):4. Легко реализовать свой механизм сереализации в XML.

Для бинарника уже реализован разрабами делфи
svp писал(а):5. Полная поддержка UTF-8.

Тип widestring поддерживает юникод (или глупость сказал).
svp писал(а):6. Сторонние разработчики легко смогут присоединиться к пректу и добавлять в файл проета свои вложения с данными плагинов.

Записывать в конец файла-проекта. Для каждого присоединенного файла хранится описание, поэтому разраб плугинов может без проблем опознать свой файл.
svp писал(а):7! Не нужно дополнительно заботиться об обратной совместимости пректов, сохранённых в разных версиях программы.

Т.е. как? Не так ли, чтобы добавить новый класс в программу вдобавок к предыдущему и сохранять в заглавке верчию файл-проекта? Дык то же самое организовавыется с помощью бинарника.
svp писал(а):8. В XML можно добавлять бинарные данные.

И сильно проиграть в размере? Или таки к файлу-проекту добавлять в конец эти самые бин данные?
svp писал(а):1. Глобальный уникальный идентификатор проекта.2. Глобальный уникальный иднтификатор версии.

Если проект имеет свой идентификатор, ти имеет ли смыл идентификатор версии? У меня тупенько так - версия проекта=single, изменяющаяся только по маске '0.00'. При добавлении на сайт прст модерируется человеком, который добавляет и все. Причем задумка такая, что проекты с сайта (а модерируется он одним человеком) - это железобетонно работающая прошивка. Т.е. на них распространяется гарантия производителя)

Насчет исходников.
1)Некоторые комментарии относятся к процессу разработки и немного засоряют код.
2)Там все тупенько сделано, но это работает (прст ооп в меня только в этом году начнут вдалбивать=))
3)Всего около 2к строк
4)Очень буду благодарен помощи по поводу процедур, имя которым make*. По идее надо редактить .dfm, но там вместо строк похоже какие-то адреса.
5)Чтобы собрать вам надо AlphaControls и дрова компорта(во вложении)+будет ругаться на статус бар - прст удалите его из проекта (ну, и уберите одну процедурку)

Добавлено спустя 1 минуту 17 секунд:
О_0 ниче вы тут понаписали...

Добавлено спустя 1 минуту 36 секунд:
Забыл екзек убрать зи архива. Вот без екзека

Добавлено спустя 1 минуту 54 секунды:
P.P.S. Не поймите привратно, я не против xml, но, на мой взгляд, в даном случае у него перед бинарником никаких особых преимуществ.

Добавлено спустя 2 минуты:
P.P.P.S. Насчет плугинов улыбнуло :ROFL:
Тот момент, когда к мбс начнут писать плугины или вообще не наступит или наступит тогда, когда я инст уже закончу, наверн :ROFL:
Вложения
MBSReincornation 0.02xnc without exe.rar
(167.04 КиБ) Скачиваний: 22
MBSReincornation 0.02xnc.rar
(807.42 КиБ) Скачиваний: 37
ComPort.rar
(378.77 КиБ) Скачиваний: 34

Re: МиниБот Студия

svp » 29 авг 2008, 20:47

Посмотрел исходники...
Беру свои слова обратно насчет XML. В том виде, в каком он реализовано сейчас, проект долго не протянет. Его придётся переписывать полностью. Потому что с рефакторингом уже здесь можно закопаться.
Понимание преимуществ самопальной сериализации XML перед встроенным механизмом сериализации Delphi придёт, ИМХО, чуть позже. Когда освоите инкапсуляцию и полиморфизм.
Я прошу, без обид. Ок?

Пара советов к которому вы придёте в будущем по-любому:
1. Оформление кода. Надо придердиваться единого стиля. Причем желательно, чтобы этот стиль был таким же как у Борландовских разработчиков. Он там такой не спроста. Посмотрите любые исходники VCL. Возможно все эти тонкости Вам на первых порах покажутся пустяками, но, поверьте... человеку, написавшему уже не одну тонну кода читать ваши исходники почти невозможно. Приходится форматировать.
2. Модули. Не стоит пихать всё в один юнит. Форма -- это способ отображать информацию. В ней ничего не должно быть кроме интерфейса. Весь код должен быть разбит на максимальное количество максимаьно самостоятельных кусков (модулей). Вы пишете "студию" (пардон за кавычки, но пока имею право их ставить). Необходимо задумываться, что возможно будут альтернативные проекты. Надо поддерживать совместимость. Возможно придётся написать конвертер. Зачем конвертеру (который может быть консольным) ВЕСЬ ваш модуль с формой, который не откомпилится без скиновых компонентов?!
Сделайте класс проекта в отдельном модуле.
3. Концепция документ-вид. Это очень важная и просто-таки первостепенная концепция, которую нужно понимать, прежде чем писать хоть какое-то приложение такого типа с заявкой на хоть какую-то серьёзность.

Если я ещё не в Вашем черном списке, то можно обсудить основные моменты этого проекта и то, как их сделать лучше. Не идеально.а п росто лучше.
И ещё совет. Не стоит ждать когда вас научат. Надо совершенствоваться чуть раньше. В этом случае, когда вас будут учить всему этому вы будете лишь устранять пробелы понимания всей этой философии.

Re: МиниБот Студия

MiBBiM » 29 авг 2008, 21:46

svp писал(а):Посмотрел исходники...

я предупреждал несколько раз :D
svp писал(а):1. Оформление кода.

Везде почти одинаковый, кажется. Быть может, мой "стиль" не прокатывает под ваш, а потому и приходится форматировать? ок, посмотрю примеры борланда
svp писал(а):2. Модули. Не стоит пихать всё в один юнит.

когда проект был mdi, код был разбросан по формам.
насчет модулей почитаю.
svp писал(а):Концепция документ-вид.

не нашел внятной статьи с парой примерчиков. поищу ещё)
svp писал(а):И ещё совет. Не стоит ждать когда вас научат. Надо совершенствоваться чуть раньше. В этом случае, когда вас будут учить всему этому вы будете лишь устранять пробелы понимания всей этой философии.

Все оч. просто. Информатика, безусловно, завязана с моим профилем обучения (физ-мат), но лично для меня стоит ниже мат-ки и физики, ибо егэ. А в связи с начинающимся учебным годом, времени на "совершенствоваться чуть раньше" немного не хватает (ну, летом, понятно, мозги раскисают :) ).
svp писал(а):Если я ещё не в Вашем черном списке

с чего бы? разве я с самого начала не писал, что навыки мои находятся на уровне ниже плинтуса?
svp писал(а):можно обсудить основные моменты этого проекта и то, как их сделать лучше.

причем лучше это сделать прямо сейчас, ибо четвертый раз писать с нуля - у меня нервы не выдержат.

Re: МиниБот Студия

svp » 30 авг 2008, 18:55

MiBBiM
Блин... А я думал, что ты студент первого-второго курса, обучающийся по профилю на программиста=). Ну потому что ООП серьёзно у них начинается примерно на втором. Я малость раньше преподавать в институте пробовал, но как-то народ нынче учится не любит.. =) Энтузиазма ноль.
Сегодня-завтра соберусь с мыслями и изложу идеи по проекту.

Re: МиниБот Студия

MiBBiM » 03 сен 2008, 12:48

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

Re: МиниБот Студия

EdGull » 05 ноя 2008, 19:08

оболочку можно сделать также как сделали митсубиши
мне очень понравилось

только осторожно, размер образа диска 100 метров.

Re: МиниБот Студия

Myp » 05 ноя 2008, 19:17

так сделай скриншоты и выложи скриншоты
или видео запиши

кто станет качать стометров хз чего?

Re: МиниБот Студия

SMT » 05 ноя 2008, 19:20

я скачаю, хочу посмотреть.

Re: МиниБот Студия

MiBBiM » 05 ноя 2008, 20:09

эм. а ссылка?

Re: МиниБот Студия

EdGull » 05 ноя 2008, 20:50

http://narod.ru/disk/3598479000/Alpha.rar.html
убирал до выяснения обстоятельств
ставится только с диска

Re: МиниБот Студия

SMT » 05 ноя 2008, 23:56

ни оперой ниэксплорером не качается - мелькнет и снова цифры просит. может в провайдере проблема. с рапида вообще-то тоже не удается файлы качать

Re: МиниБот Студия

Vooon » 06 ноя 2008, 01:32

EdGull писал(а):http://narod.ru/disk/3598479000/Alpha.rar.html
убирал до выяснения обстоятельств
ставится только с диска


Сейчас скачаю, выложу torrent.

Re: МиниБот Студия

MiBBiM » 06 ноя 2008, 01:35

а у меня опера нормально качает. тока 15 килобайт/сек, что не шибко чтобы очень))


Rambler\'s Top100 Mail.ru counter