Это мой первый пост на этом форуме. Пригласил один знакомый.
Обычно я создаю кучу вещей для кровавого энтерпрайза, но сейчас планирую иногда делать фановые open-source решения.
В данный момент я работаю над одной веселой библиотекой. Причина по которой я её создаю - генерация кода.
Я использую Laravel но знаком с Symfony и Yii 1.* и ни в одном из них я не видел нормального генератора кода.
В данный момент я работаю над библиотекой, которая может генерировать шаблоны для классов, функций, трейтов, интерфейсов включая их методы и свойства, константы и тд и тп.
Основная идея - создать файл blablabla.json который описывает какие проект - какие классы используются, от чего они наследованы и что расширяют, какие у них есть терейты, свойства, константы и методы. Что методы принимают и возвращают.
Далее файл скармливается консольной утилите, которая генерирует проект со всей его структурой. Остается только набить пустые метода кодом и радоваться жизни.
Что думаете об этом бреде моего воспаленного сознания?
стоит ли его реализовывать дальше и тем более выпускать в сеть?
_____________
Dum spiro, spero!
Покажите какой-нибудь сложный blablabla.json, где могоуровневые неймспейсы, наследование, трейты, константы, свойства и методы и все вот это.
Может нет смысла заморачиваться и проще сразу руками писать php? Активно использую кодогенерацию того же PhpStorm.
Цитата (iit @ 19.08.2016 - 15:22) |
и ни в одном из них я не видел нормального генератора кода. |
что в твоем понятие нормальный? напиши тезисно что иммено в них не устроило.
Цитата (iit @ 19.08.2016 - 15:22) |
Далее файл скармливается консольной утилите, которая генерирует проект со всей его структурой. Остается только набить пустые метода кодом и радоваться жизни. |
разве по др. происходит?
Цитата |
Активно использую кодогенерацию того же PhpStorm. |
В шторме отличная кодогенерация, особено live templates. Сам её тоже часто использую. Но вот если нужно сгенерировать 15 классов в разных неймспейсах - уже задалбывает.
Цитата |
напиши тезисно что иммено в них не устроило. |
Все они построены по принципу шаблонов. т.е по сути если мне нужно сгенерировать сложную сущность с помощью генератора то мне нужно писать шаблон для каждой такой сущности. В итоге проще самому написать нужный код.
_____________
Dum spiro, spero!
redreem
19.08.2016 - 20:38
Цитата |
проще самому написать нужный код |
это, резюмирующая весь, возможно, дальнейший холивар фраза.
Цитата (iit @ 19.08.2016 - 19:49) |
Все они построены по принципу шаблонов. т.е по сути если мне нужно сгенерировать сложную сущность с помощью генератора то мне нужно писать шаблон для каждой такой сущности. В итоге проще самому написать нужный код. |
Все сложные построения индивидуальны. Попробуй расписать как ты себе это представляешь и какие проблемы будут закрыты. Я думаю что инструмент получится грамозким для восприятия, а следовательно интерес к внедрению будет нулевым.
Гость_Invis1ble
19.08.2016 - 23:23
Цитата (iit @ 19.08.2016 - 15:22) |
Что думаете об этом бреде моего воспаленного сознания? |
Думаю, в лучшем случае получится новый мета-язык, который будет ничем не проще самого php. Иначе он будет недостаточно гибким.
McLotos
21.08.2016 - 19:26
хотите создать ковейер для создания велоипедов?
Знаю я одного чувака, который такое сделал, причем как раз для laravel, но возникает тогда логичный вопрос "зачем?"
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Цитата |
Знаю я одного чувака |
Серый это я и есть, балда!
_____________
Dum spiro, spero!
jetistyum
23.08.2016 - 15:38
Идея вполне имеет место быть.
А зачем - за тем же, для чего и существует кодгенерация.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.