Небольшие, но неприятные недочеты

Russian main discussion
  • Author
  • Message
Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

VladSh
Да, Вы не поняли идеи. Не какой-то там "свой формат", а существующий формат проектных файлов. От MS Visual Studio 6/7-9/10, от CodeBlocks, от Xilinx/Emacs, от KDevelop. Это форматы которые уже есть, и которые хочется понимать АР-ом.
Как по моему, то надо в плаге было бы реализовать функционал парсинга без привязки к формату(парсить конфигурационный файл), а уж в конфиге описывать формат, если так надо.
Вы возьметесь за написания за лексический анализатор, который будет понимать правильно грамматики заданные в конфиге? Я не возьмусь.
Дальше: каждый тип проекта имеет свои заковыки, которые необходимо учесть. А это значит что каждую заковыку нужно буде вручную зашить в коде.
Дальше: лексический анализатор это хорошо, но ведь ещё есть задача сохранить назад.
Модульный вариант однозначно лучше. Модуль сам в курсе как парсить, как сохранять, как дополнительные заковыки обрабатывать. А ядро отвечает лишь за своевременный вызов функций модуля.
И почему вообще списки файлов хранить где-то надо, если можно читать структуру папок, начиная от какой-то?
Потому что структура проекта в общем случае не эквивалента списку файлов в папке.

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

VladSh
емнип, ты в основном работаешь с веб-приложениями? Для них понятие "файл проекта" не существует, а сам проект определяется файловой структурой. Однако среды, собирающие нативные приложения, используют файлы проекта для хранения списка всех подключенных файлов, и у каждой среды/языка формат этого файла свой. Нет никакой сложности написать загрузку всех файлов из определенной папки, а вот с файлами проектов в самом деле все куда сложнее

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Fr0sT
FeyFre
посмотрите, если не лень, как это сделано в intype или np++

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

FeyFre wrote:Модульный вариант однозначно лучше. Модуль сам в курсе как парсить, как сохранять, как дополнительные заковыки обрабатывать. А ядро отвечает лишь за своевременный вызов функций модуля.
Ну раз так, то ядро как раз лучше реализовать плагом, а "модули" каждый сам будет добавлять скриптами по желанию.
Fr0sT wrote:емнип,
ты в основном работаешь с веб-приложениями?
Не ругайся)
Скорее хотел бы..
Fr0sT wrote:среды, собирающие нативные приложения, используют файлы проекта для хранения списка всех подключенных файлов, и у каждой среды/языка формат этого файла свой.
Вот честно, я не вижу смысла заточки на какие-то другие редакторы. Это что, при создании ещё какого-то редактора надо будет для него "модуль писать"? Да в баню!.. Если разве только нет задачи написать самую быструю IDE, но тогда надо делать это плагом, т.к. скрипты по скорости - это слёзы.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Ну раз так, то ядро как раз лучше реализовать плагом, а "модули" каждый сам будет добавлять скриптами по желанию.
"каждый сам будет добавлять скриптами по желанию." - ну я с этого и начал. Обязательно только ядро, модули - за юзерами, и то если найдут имплементатора.
"Ну раз так, то ядро как раз лучше реализовать плагом" - а тут уже дело жирафа, т.е человека который это ядро будет писать. Если найдется желающий, то думаю выбора у нас не будет. По сути это не важно, как ядро будет реализовано.
Это что, при создании ещё какого-то редактора надо будет для него "модуль писать"? Да в баню!..
ЕМНИП, уже давно "ещё каких-то редакторов", новых "редакторов", с встроенной функциональной возможностью менеджера проектов(т.е. IDE) не создавалось. Я даже могу перечислить по пальцам их: MSVS, DevCpp, CodeBlocks, KDevelop, Borland Delphi/C++, NetBeans, JBuilder/JDevelop и Eclipse. Может что-то и забыл, но вряд ли это были TOP20 IDE-шки. Сейчас, если создают новую среду, то строят её как-правило на основе Eclipse-а плагинами(а формат "проектного" файла остается тот-же). Вряд ли пользователи узконаправленных IDE знаю о существовании АР, или им придет в голову такая идеая. А наша задача: дать возможность заинтересованным открыть проект в случае отсутствия под руками IDE, а не бежать за всеми существующими IDE-шками. Согласитесь, на много скорее установить АP, плагин и пару скриптов(а можно и без установки взять сборку), что-бы заглянуть в тот или иной проект на 5 минут, чем искать и устанавливать полноценную IDE(так, для справки: что-бы установить MSVS, нужно прождать 30минут минимум, а также выполнить две перегрузки системы; что-бы установить какой-нибудь TI Xilinx IDE(на eclipse-е), то добавляется генерация платформы, аппаратной модели и т.п., хотя пользователю нужно всего лишь перебросить один-два флажка компилятора)
Для них понятие "файл проекта" не существует, а сам проект определяется файловой структурой.
Тут тоже не всё так просто. Помнится IDE-шка, проекты которой содержали список PHP, на который в случае необходимости натравливался локальный апач, на который в свою очередь натравливался локальный обозреватель, при этом IDE могло дебажить как PHP так и скрипты на обозревателе. Тут эму точно нужен был список файлов которые можно дебажить. ;)

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

FeyFre
Тут тоже не всё так просто
Не, понятно, что у каждой проги свои заморочки. Но в основном всё-таки проект реализуется через файловую структуру, отражая положение дел на сервере
ЕМНИП, уже давно "ещё каких-то редакторов", новых "редакторов", с встроенной функциональной возможностью менеджера проектов(т.е. IDE) не создавалось. Я даже могу перечислить по пальцам их: MSVS, DevCpp, CodeBlocks, KDevelop, Borland Delphi/C++, NetBeans, JBuilder/JDevelop и Eclipse
Но у них еще есть по нескольку актуальных версий с различающимися форматами файлов проектов :)

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Но у них еще есть по нескольку актуальных версий с различающимися форматами файлов проектов
И этим будет заниматься опять таки модуль - один на все версии/форматы.
Post Reply