SyBe - новый движок PHP5/XML - участник Zend Coding Contest

Yurik

/dev/null
SyBe - новый движок (CMS) PHP5/XML - участник Zend Coding Contest

Вот подходит к концу такое серьезное мероприятие как PHP5 Zend Coding Contest.

Команада проекта SyBe оказалась одной из 3 с просторов бывшего СНГ и имеет все шансы чтобы стать финалистом - Мы просим Вас поддержать Украинскую команду.

Страница с описанием приложения.

http://www.zend.com/php5/contest/contest.php?id=66&single=1

Так же если захотите Вы сможете принять участие в дальнейшей разработке этого приложения.

Проект открытый.
Демо версия доступна по адресу http://sybe.dotgeek.org - там же доступна интересная особенность, если запросить страницу с расширением xml или xslt вы увидете все внутренности сайта.
http://sybe.dotgeek.org/ru/index.xml - исходник xml
http://sybe.dotgeek.org/ru/index.xslt - исходник xslt

Коротко о реализации движка:

SyBe engine является полноценным наследником идей проекта Apache Cocoon. Написание этого проекта стало возможной только с выходом PHP5 и наличием в нем полнофункциональной поддержки XML и ООП (конечно все это можно было разработать и на php4 но это бы заняло сильно много времени и проект был бы не таким быстрым и гибким).
При разработке SyBe engine разработчики постарались жестко придерживаться стандартов и рекомендаций от W3C - DOM, XSLT, XML, Xpath - в нем есть четкое разделение логики и
представления.
SyBe обладает максимально возможным быстродействием и высокой устойчивостью к ошибкам сторонних разработчиков при написании модулей или каких-нибудь других частей системы.

Проект построен на xml +xslt, реализована мультиязычность,
создание и использование UDS (универсальных источников данных), легкая расширяемость, использование атомарных модулей.
Использование всех новых возможностей PHP5 - начиная от новых расширений (DOM mysqi SimpleXML) и заканчивая новыми ООП возможностями и обработкой ошибок.
 

BeGe

Вождь Апачей, блин (c)
При приложении в 800 строк вместе с 3 простыми модулями......
 

syfisher

TDD infected!!
to:Yurik
А кто остальные из СНГ?

to:BeGe
800 строк кода не надо тестировать. По-моему надо тестировать даже пару десятков строк, в зависимости от логики, которие они исполняют
 

pachanga

Новичок
800 строк кода не надо тестировать. По-моему надо тестировать даже пару десятков строк, в зависимости от логики, которие они исполняют
полностью согласен :)
 

BeGe

Вождь Апачей, блин (c)
syfisher - а что все дружно пересели на XP и откинули RUP как таковое ?

тестов нету, потому что не доходят руки, и логика некоторых вещей может менятся 2 раза на день.

Пример :

Реализация многоязычности.
Есть два варианта
- делать через сущности и описывать язык в DTD.
- создавать ещё одну ветку в XML где просто описывать lang и фразы которые надо для того что бы отгенерить страницу.

Первый увеличил время выполнения приблизительно в 2 раза (но не проверено) просто приблизительные результаты, и появились проблемы с показом xml + xslt под IE.

За вечер был реализован второй вариант. Оказалось что у него тоже есть свои не достатки - не сделаешь ты <xsl:value-of> в <img src="/img/...."/>

И эти два варианты были испробованы за два дня. Пока остановились на первом, но ещё предстоят обсуждения :).

Так куда тут тесты ?...

Или проектировать, писать тесты, находить ошибки в спроектированом, потому что реализация не работает так быстро как хотелось и ускорить нельзя.... так что тогда делать ?

Заново проектировать заново писать тесты и только потом реализовывать, а потом хвалится а у меня тесты есть :).
 

pachanga

Новичок
Фокус в том, чтобы проектировать тестами.

-~{}~ 07.10.04 13:24:

Автор оригинала: BeGe

тестов нету, потому что не доходят руки, и логика некоторых вещей может менятся 2 раза на день.
С такой отговоркой вообще можно тесты не писать :(
 

BeGe

Вождь Апачей, блин (c)
Тесты будут когда появится стабильная версия - что бы потом проверять работоспособность новых версий и совместимость между версиями.
 

pachanga

Новичок
Очень грустно это слышать...

Проблема обычно в том, что очень трудно провести линию между стабильной и девелоперской версиями.
 

Sych

Новичок
А самое интересное что дырочку то мы с BeGe нашли :)

может нам это зачтется
 

BeGe

Вождь Апачей, блин (c)
а что значит ТОЖЕ ?!!!!!
pacha мы требуем обяснений !!!!!!
 

Sych

Новичок
ну ломать и проверять систему голосования - это разные вещи.

Судьи то были предупреждены с тех пор как началось голосование - так что я думаю на это внимания не будут обращать.
 

neko

tеam neko
Фокус в том, чтобы проектировать тестами.
я так понимаю имеется в виду подход с самотестирующимися классами?
когда сначала пишется тест, а потом решение задачи?
 

BeGe

Вождь Апачей, блин (c)
Вот только в этом есть смысл когда хорошо знаешь технологию и можешь реализовать приложение максимально быстро. А если нет..... сам класс переписуется раз по 10 за день.....
 

syfisher

TDD infected!!
Автор оригинала: BeGe
Вот только в этом есть смысл когда хорошо знаешь технологию и можешь реализовать приложение максимально быстро. А если нет..... сам класс переписуется раз по 10 за день.....
Когда пишешь тест, то как раз десять раз и думаешь. У меня сложилось мнение, что когда тесты писать ДО, то программа изначально получается лучше и потом ее менять легче. Плюс после глобальных изменений времени на восстановление фукнциоальности требуется в разы меньше. Так что тесты надо писать сразу, а не потом. Потом от них будет толку намного меньше. Особенно, если использовать ООП подход и PHP5.

Ладно, это дело каждого разрабочика. Каждый выбирает свой путь.

-~{}~ 08.10.04 11:29:

Автор оригинала: Sych
ну ломать и проверять систему голосования - это разные вещи.

Судьи то были предупреждены с тех пор как началось голосование - так что я думаю на это внимания не будут обращать.
Хотелось бы верить, что судьи будут действительно объективны и потратят на каждый проект хотя бы по 15 минут :)
 
Сверху