Владимир Полухин, Я человек, работаю один и конечно иногда могу забить @уй, это же для себя, а не для заказчика. Но в целом какая разница какой проект. Почитайте о TDD, BDD. Это методики разработки, которые упрощают жизнь разработчику. Тесты это не требования для ТЗ, это нечто не разделимое с кодом приложения))).
Всем привет, я rails developer, недавно наш хороший клиент настоял, что бы мы делали один проект именно на bitrix.
1) Я backend и занимаюсь исключительно серверной частью так уж получилось, что бизнес логику внутри шаблона в rails держать не принято ( дичайший моветон ), существуют ли какие то решения, что бы избежать этого ада на стороне шаблона ( шаблонизаторы, препроцессоры ), что бы frontend с этим мог спокойно работать? 2) Люто люблю и почетаю TDD, потому, что если frontend, что то сломает, я это увижу и руки поотрываю, нерабочий код просто не деплоится. 3) Как bitrix проект хранить в git, если можно gitignore 4) Есть ли примеры организации гибкой методологии разработки при использовании bitrix? Не холивара ради.
так уж получилось, что бизнес логику внутри шаблона в rails держать не принято ( дичайший моветон )
Толковый разработчик будет стараться отделять логику от представления вне зависимости от языка/фреймворка, будь то rails, symfony, bitrix или что-то еще. Это уже человеческий фактор, на самом деле можно писать хороший код под битрикс и наговнокодить под rails :-)
По делу: шаблонизатор битрикса предполагает использование php-кода для вывода. Грубо говоря вот так:
В данном примере $arResult — это массив, в котором данные из компонента передаются в шаблон, а GetMessage — языковое сообщение (для реализации многоязычности).
При этом я натыкался на решение, которое позволяет использовать twig в качестве шаблонизатора: Твигрикс. Решение бесплатное, на Github тоже можно его найти.
Насчет git и .gitignore. Тут все просто: ядро системы лежит в папке /bitrix/, в идеале всю ее нужно загонять в .gitignore. Раньше это нельзя было сделать, т.к. в папке ядра были шаблоны сайта и компонентов, там же лежал файл init.php, в котором полагается размещать обработчики событий. Сейчас можно все ядро игнорить, т.к. есть замечательная папка /local/, где можно размещать шаблоны и все прочее. Прочитать об этом можно тут — http://dev.1c-bitrix.ru/community/blogs/vad/local-folder.php Еще рекомендуется игнорить папку upload, куда по умолчанию скидывается весь медиаконтент типа картинок и прочего.
Про покрытие кода тестами не могу ничего сказать к сожалению, сам не использую, грешен.
Кирилл Зайцев пишет: 1) Я backend и занимаюсь исключительно серверной частью так уж получилось, что бизнес логику внутри шаблона в rails держать не принято ( дичайший моветон ), существуют ли какие то решения, что бы избежать этого ада на стороне шаблона ( шаблонизаторы, препроцессоры ), что бы frontend с этим мог спокойно работать?
Был где-то модуль добавляющий twig, но мне он показался плохим решением (Евгений написал о нем). Сложность шаблонизации заключется использовании echo и буферизации вывода в родных шаблонах. Чесно с лету не победил, отложил на будушее. В принципе можно подключить любой шаблонизатор через компосер и самостоятельно его вызывать. Но это решение доступно только для частичного использования. Бардак в шаблонах все равно так не получится победить. Т.К. страница состоит из кучи компонентов, и каждый компонент имеет отдельный шаблон.
Кирилл Зайцев пишет: Люто люблю и почетаю TDD, потому, что если frontend, что то сломает, я это увижу и руки поотрываю, нерабочий код просто не деплоится.
Я использую BDD принципе теже яйца только с боку. Полность сайт легко контролить через селениум ( потому что много скриптов у админа работают через js, а самому все скрипты битрик перебирать пока лень)
Ну собственно проект отклыл. Извиняюсь за недельную задержку)). Надо понимать, что все еще очень сырое. Установка bitrix одной командой будет доступна завтра.