Russian Qt Forum
Май 07, 2024, 02:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Фирменный репозиторий Кладовки готовых решений :)  (Прочитано 27045 раз)
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« : Январь 17, 2011, 23:16 »

Решил эту тему вынести из другого  поста.
 
1) Давайте тут решим нужна ли нам такая либа? В которой будут собраны удачные решения из этой кладовки, расширяющие функционал Qt, разные там всякие контролы, вспомогательные классы..

2) Придумать хорошее название.

3) где захостить? git, svn?

4) вносить туда только Qt решения, или не только, например, чистый stl/boost..?

Кто знает, может у нас получится что-то популярное типа буста Улыбающийся

Можно ее поделить следующим образом:
- общие классы (common)
- gui

Сменил тему на репозиторий, буквальное понимание термина ЛИБА многих смущает )
« Последнее редактирование: Январь 20, 2011, 13:35 от navrocky » Записан

Гугль в помощь
JamS007
Гость
« Ответ #1 : Январь 17, 2011, 23:26 »

Я думаю библиотека на то и библиотека, чтобы содержать хоть чуть-чуть однотипные решения. А в этой кладовке - самые разные... Будет просто каша...
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #2 : Январь 17, 2011, 23:40 »

Я думаю библиотека на то и библиотека, чтобы содержать хоть чуть-чуть однотипные решения. А в этой кладовке - самые разные... Будет просто каша...
Ну можно не все подряд вносить, а только удачные решения, голосованием что-ли?

И с другой стороны может больше цель иметь не библиотеку, а эти классы по отдельности в общем репозитории и с общей документацией. Каждый может дергать нужные ему файлы и втыкать к себе в проект. Если что-то улучшит то может и закоммитить. А так как сейчас - сложно поддерживать актуальность.

Потом можно придерживаться следующих правил при включении классов в библиотеку:
  • минимум зависимостей между файлами библиотеки (для облегчения выдирания отдельных классов)
  • только общие решения (никаких частных никому не нужных)
  • простые решения (максимум 2-3 класса)
  • общий кодестайл, например, Qt-шный
  • дока на доксигене или Qt-шном генераторе..
Записан

Гугль в помощь
ритт
Гость
« Ответ #3 : Январь 18, 2011, 01:58 »

...и получатся солюшены - так зачем либа?
Записан
ieroglif
Гость
« Ответ #4 : Январь 18, 2011, 04:53 »

Цитата: Т.Л.Пратчетт
Какое  ремесло  ни  возьми,  везде  одно  и  то  же.  Рано  или  поздно
кого-нибудь   осеняет:   необходима   организация.    И   будьте    уверены,
организаторами  станут  не  те,  кто,  по   общему  мнению,   достиг  вершин
мастерства, --  те  вкалывают. Честно  говоря,  и не  худшие.  Они  (а  куда
деваться!) тоже трудятся в поте лица.
     Нет, организационный процесс берут на себя  те, у кого довольно времени
и желания бегать и  суетиться.  И --  опять-таки, если не кривить душой,  --
миру нужны те, кто бегает и суетится. Но не обязательно их любить.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #5 : Январь 19, 2011, 12:52 »

что-то я не понял, надо или нет (
Записан

Гугль в помощь
SASA
Гость
« Ответ #6 : Январь 19, 2011, 19:15 »

Я такой библиотекой пользоваться не буду.
У меня почти в каждом проекте из нескольких модулей появляется длл с именем common. В ней собраны все функции и классы общего назначения. Если мне что-то понадобиться из "кладовки", я просто скачаю исходник, допилю и добавлю в common. Сделать common один на все проекты нет смысла, т.к. большая часть библиотеки отражает специфику проекта.
Записан
Akon
Гость
« Ответ #7 : Январь 19, 2011, 23:20 »

Если и делать, то что-то типо репозитария, содержащего разнородные решения. Использование - стянул необходимые *.h и *.cpp файлы и включил их в проект.

У меня (как и у многих) есть папка, в которой навалены всякие небольшие полезности в виде *.h и *.cpp файлов.
Записан
asvil
Гость
« Ответ #8 : Январь 20, 2011, 00:56 »

И что же Вы предлагаете, перекомпилировать все ваши полезности при каждой очистке проекта?
Оформлять необходимо каждый класс/набор классов в виде динамической/статической библиотеки. Я предпочитаю статические библиотеки, так как мне не хочеться инсталлировать 5-8 динамических библиотек при разворачивании приложения. И бинарной совместимостью я тоже не хочу заниматься.
Хотя прошу прощения, для qmake проектов это не актуально, они не так просто масштабируются.
Записан
SASA
Гость
« Ответ #9 : Январь 20, 2011, 11:11 »

Складывать всё в отдельный репозиторий - хорошая идея. Надо только оговорить правила включения. Например, внятное писание, соответствие некоторым правилам по оформлению кода, комменты аля дохуген, наличие проекта с примером использования. 
Записан
alexman
Гость
« Ответ #10 : Январь 20, 2011, 11:37 »

Может вести не одну либу, а несколько? То есть как-то классифицировать реализуемые компоненты. Правда может возникнуть ситуация, что число библиотек будет равно числукомпонентов, то есть разумной классификации невозможно будет предложить...
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #11 : Январь 20, 2011, 13:01 »

core
gui
netwok
У самого такая идея была.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #12 : Январь 20, 2011, 13:28 »

Если и делать, то что-то типо репозитария, содержащего разнородные решения. Использование - стянул необходимые *.h и *.cpp файлы и включил их в проект.

У меня (как и у многих) есть папка, в которой навалены всякие небольшие полезности в виде *.h и *.cpp файлов.

Я про это и говорю. Я сам тоже так делаю (common со всяким хламом...). Вот здесь в форуме поддерживать актуальность тяжеловато, нет версий.

Собственно мое предложение такое:
1) Определиться с хостингом проекта.
2) Придумать название
3) Выбрать что там разместить
4) Структуру организовать так: каждое решение в отдельной папке со всеми необходимыми файлами (там могут быть файлы проекта .pro CMakeLists.txt, примеры, комментарии, дока). Не обязательно это должны быть статические или динамические библиотеки, можно и просто исходники.
5) Если все решения будут прокомментированы в doxygene тогда можно попытаться свести все в одну общую доку.
Записан

Гугль в помощь
asvil
Гость
« Ответ #13 : Январь 20, 2011, 13:41 »

navrocky, отличный план.
Мои предложения, во всем основанные на Qt:
1) gitorious.org (соответвенно scm только git)
2) ru.org.prog.solutions (так вроде в яве делают, а ну еще в QtScript)
3) Все реализации всех Qt интерфейсов (QSettengs, Q*Model, Q*Delegate, Q*View, и так далее), все классы которые можно подключить и использовать.
4) поддерживаю
5) поддерживаю, комментарий в стиле doxygen, другого распространенного стиля я не знаю.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #14 : Январь 20, 2011, 13:51 »

navrocky, отличный план.
Мои предложения, во всем основанные на Qt:
1) gitorious.org (соответвенно scm только git)
2) ru.org.prog.solutions (так вроде в яве делают, а ну еще в QtScript)
3) Все реализации всех Qt интерфейсов (QSettengs, Q*Model, Q*Delegate, Q*View, и так далее), все классы которые можно подключить и использовать.
4) поддерживаю
5) поддерживаю, комментарий в стиле doxygen, другого распространенного стиля я не знаю.
1) gitorious поддерживает тикеты (не углядел пока)? Мне нравится гуглокод, но там нет git, а git хотелось бы пощупать ибо svn надоел ) sourceforge я думаю никто тут предлогать не будет, тормозная помойка...
2) я хотел было предложить QtSolutions, но оно уже есть %)
3) А общие классы, основанные на stl/boost?
5) есть кутэшный генератор доки, например, но я с ним не работал..
Записан

Гугль в помощь
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.055 секунд. Запросов: 23.