Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
#1

Нужно ли документировать проект? - C++

06.09.2013, 19:50. Просмотров 1325. Ответов 33
Метки нет (Все метки)

Всем доброго вечера.
Паттерны проектирования и Совершенный Код читать пока не планирую (так как начинающий), но некоторые вопросы узнать бы хотелось.
Я решил написать одно приложение, чтобы потренироваться, а впоследствии и опубликовать его под GPL-лицензией. Сначала все шло нормально, но сейчас количество кода превысило 1800 строк и ориентироваться в объектах и переменных стало крайне затруднительно. Стараюсь писать аккуратно и красиво, но периодически всё равно приходится делать глобальный рефакторинг, и это очень долго.

Нужно вообще, или полезно сделать какую нибудь систему именования переменных, или как запомнить все невидимые элементы GUI ? (Например менеджеры компоновки, невидимые распорки...да и вообще) Чертить схему на бумажке что-ли? Как с этим справляются проф. разработчики?
пишу на Qt.
Можете дать какие-нибудь советы? Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2013, 19:50     Нужно ли документировать проект?
Посмотрите здесь:

Нужно добавить проект на гугл-диск, как сделать так, чтобы запускалась сразу консоль, одним файлом? - C++
Нужно добавить проект на гугл-диск, как сделать так, чтобы запускалась сразу консоль, одним файлом?

Нужно написать програму в которой нужно определить суму двух 2D масивов - C++
В програме нужно найти суму двух двумерных массивов... буду очень признателен

Когда нужно/не нужно возвращать объект при перегрузке присваивания? - C++
Доброго времени суток! Перегрузка присваивания: class alpha { private: int data; public: alpha() // конструктор без...

Нужно ввести текст, если он больше 80 символов нужно чтоб он переходил на новую строку - C++
Написал клиент сервер, с командами add-запись в файл, remove-удаление из файла ,display-вывод на экран. Надо чтоб при вводе текста, если...

Нужно сделать задание по c++! Через 3 часа нужно сдать! - C++
ТРЕБОВАНИЯ К ВЫПОЛНЕНИЮ ЗАДАНИЙ: Требования к выполнению задания №1: 1. Требуется решить систему линейных алгебраических...

В магазине работает 5 человек, нужно составить график их работы, нужно что бы каждый день работало по 3 чел - C++
В магазине работает 5 человек, нужно что бы каждый день работало по 3 человека, но что бы через день работы каждый из этих 3 отдыхал, а на...

даны 2 последовательности в файлах, в двух разных, нужно их обьединить и отсортировать по возрастанию. Но нужно сделать прогу с помошью указателей - C++
вот текст проги которую я сделал, но без указателей. переделайте пожалуйста #include<fstream.h> #include<iostream.h> void main(){ ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XRuZzz
Антикодер
659 / 560 / 27
Регистрация: 15.09.2012
Сообщений: 2,511
06.09.2013, 19:54     Нужно ли документировать проект? #2
А Doxygen для кого придумали?
Не замечали, что комментарии в опен соурс проектах подозрительно похожи по оформлению?
Убежденный
Системный программист
Эксперт С++
15298 / 6930 / 1096
Регистрация: 02.05.2013
Сообщений: 11,340
Завершенные тесты: 1
06.09.2013, 20:01     Нужно ли документировать проект? #3
Цитата Сообщение от gromo Посмотреть сообщение
Паттерны проектирования и Совершенный Код читать пока не планирую
Зря. Очень зря.
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
06.09.2013, 20:14  [ТС]     Нужно ли документировать проект? #4
Цитата Сообщение от XRuZzz Посмотреть сообщение
А Doxygen для кого придумали?
Я считал, что доксиген используют при создании библиотек в основном, для того чтобы другие разработчики, использующие её, разобрались. Поправьте меня, пожалуйста, если не так.
Цитата Сообщение от Убежденный Посмотреть сообщение
Паттерны проектирования и Совершенный Код читать пока не планирую
Зря. Очень зря.
Я их когда-нибудь, конечно же, все равно начну. Но сейчас литературы и так много: с++ 1200 стр, книга по qt Ж.Бланшета + многочисленные доки. Я думаю, что больше одновременно я не осилю. Или как вы считете? Может стоит и их читать вдобавок?
XRuZzz
Антикодер
659 / 560 / 27
Регистрация: 15.09.2012
Сообщений: 2,511
06.09.2013, 22:43     Нужно ли документировать проект? #5
Цитата Сообщение от gromo Посмотреть сообщение
Я считал, что доксиген используют при создании библиотек в основном, для того чтобы другие разработчики, использующие её, разобрались. Поправьте меня, пожалуйста, если не так.
нигде ещё такой мысли не встречал, но я объязательно о ней подумаю... позже...

я хотел дать вам ссылку на сайт doxygen, но веселые ребята из ростелекома...
цитата из wiki - Doxygen
Блокировка сайта

Провайдер Ростелеком заблокировал для своих абонентов сайт doxygen.org.[1][2]


Добавлено через 2 минуты
Цитата Сообщение от gromo Посмотреть сообщение
Или как вы считете? Может стоит и их читать вдобавок?
ну это не фундаментальные книги(как и книги по C++), поэтому пропускать их не критично. но прослитать, знать что вы потеряете при этом, было бы неплохо. Я лично не читал.

Добавлено через 6 минут
советую скачать страустраупа на торрентах по С++11, пока торенты не позакрывали
в ближайшие 10 лет книга будет актуальна
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
06.09.2013, 22:57  [ТС]     Нужно ли документировать проект? #6
XRuZzz, да, я слышал про блокировку сайта доксигена
Я их пролистывал, очень любопытные мысли там есть, но все же они слишком не фундаментальные для меня еще)
Что же, буду доксигенить над проектом, потому что голова уже кругом Спасибо!
XRuZzz
Антикодер
659 / 560 / 27
Регистрация: 15.09.2012
Сообщений: 2,511
06.09.2013, 23:23     Нужно ли документировать проект? #7
doxygen-ить это нужно для командной разработки, просто идея в том, чтоб сразу писать нормальные комментарии из которых можно создавать доку. То есть даже можно не устанавливать doxygen, главное писать нормальные комментарии(которые поддерживают генерацию документации). Это как бы ваша культура программирования.

Добавлено через 6 минут
Фаулер кстати разносторонняя личность, все его книги полезны(да и не только книги). Я боюсь что на изучение одного Фаулера у вас уйдёт очень много времени. При этом желательно изучать ангоязычные издания. Потому что он генерует умные мысли быстрее, чем переводят его книги )

GUI кстати - это не функциональные требования. У того же Фаулера есть книга по UML. Есть хорошая русская книга Дениса Иванова. Нужно рисовать диаграммы UML(ну и других нотаций типа BPMN).
Если нарисуете диаграмму классов вы реально увидите косяки в архитектуре(сразу начнёте читать про паттерны проектирования ), нарисуете другую диаграмму - увидите больше. Тока их долго рисовать.
Есть проф. пакеты для проектирования ПО там можно рисовать и диаграммы и пользовательский интерфейс. Но я интерфейсы редко рисую, и стараюсь их особо не обсуждать. Когда требования описаны достаточно полно, интерфейс становится очевидным.

Почему не рисую? - По Коберну

Добавлено через 3 минуты
итог такой - дока должна генерироваться из проектных файлов(это абсолютно реально), иначе замучаетесь с поддержкой.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
06.09.2013, 23:27     Нужно ли документировать проект? #8
Цитата Сообщение от XRuZzz Посмотреть сообщение
итог такой - дока должна генерироваться из проектных файлов(это абсолютно реально), иначе замучаетесь с поддержкой.
Комментарии тоже можно не обновлять.
XRuZzz
Антикодер
659 / 560 / 27
Регистрация: 15.09.2012
Сообщений: 2,511
06.09.2013, 23:32     Нужно ли документировать проект? #9
так и быть приведу список серьёзный пакетов для сбора требований и проектирования
EA Sparx Architect
3SL Candle - новый пакет, делают земляки из Петербурга, особо пока не смотрел
Visual Paradigm - китайцы жгут...

он конечно не полный, но отфильтрованный.

сайт github помоему тоже обладает возможностями для ведения доки - тоже особо с ним не разбирался.
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
07.09.2013, 00:58  [ТС]     Нужно ли документировать проект? #10
Цитата Сообщение от XRuZzz Посмотреть сообщение
итог такой - дока должна генерироваться из проектных файлов(это абсолютно реально), иначе замучаетесь с поддержкой.
А это можно как-то реализовать в Qt Creator? Под проектным файлом вы подразумеваете .pro файл?
Я вот поюзал Doxygen - он генерирует доку для окрытых и защищенных интерфейсов только (или я не разобрался просто?). Если так, то я выше предполагал, что он для библиотек годится только. Это мне тоже, конечно, полезно будет, но хотелось бы организовать систему контроля за именами объектов, private интерфейсами.

Цитата Сообщение от XRuZzz Посмотреть сообщение
можно не устанавливать doxygen, главное писать нормальные комментарии(которые поддерживают генерацию документации)
Что вы имеете в виду? Как комментарии могут поддерживать документирование?

Цитата Сообщение от XRuZzz Посмотреть сообщение
Если нарисуете диаграмму классов вы реально увидите косяки в архитектуре
doxygen, насколько я понял, поддерживает рисовку диаграмм (пока не пробовал) при помощи пакета graphViz.
XRuZzz
Антикодер
659 / 560 / 27
Регистрация: 15.09.2012
Сообщений: 2,511
07.09.2013, 01:31     Нужно ли документировать проект? #11
Цитата Сообщение от gromo Посмотреть сообщение
А это можно как-то реализовать в Qt Creator? Под проектным файлом вы подразумеваете .pro
да я тут не очень понятно выразился, я имел ввиду, любые комментарии в исходниках, любую исходную информацию о проекте, которую можно использовать в доке, а также различные файлы с моделированием работы ПО
Цитата Сообщение от gromo Посмотреть сообщение
Это мне тоже, конечно, полезно будет, но хотелось бы организовать систему контроля за именами объектов, private интерфейсами.
лано уговорили, попробую вникнуть в ваши слова. От кого вы услышали про контроль за именами объектов? покажите какой нить пример.

Добавлено через 3 минуты
кажется начинаю догадываться, у вас что в проекте есть глобальные объекты и переменные?
ну ка покажите ка нам ваш файл с main функцией
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
07.09.2013, 02:42  [ТС]     Нужно ли документировать проект? #12
Цитата Сообщение от XRuZzz Посмотреть сообщение
От кого вы услышали про контроль за именами объектов?
Ну вообще-то сам придумал Подумал, что когда переменных доходит до 1 000 000 то какой-то общий шаблон учета должен бы существовать. Ну раз нет...
Цитата Сообщение от XRuZzz Посмотреть сообщение
кажется начинаю догадываться, у вас что в проекте есть глобальные объекты и переменные?
Нет! Пока ни одной, слава богам

main.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "mainwindow.h"
#include "personal_data.h"
#include <QTextCodec>
//#include <QDebug>
 
int main(int argc, char *argv[])
{
    QTextCodec *utfcodec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(utfcodec);
    QTextCodec::setCodecForCStrings(utfcodec);
 
    QCoreApplication::setOrganizationName(personal::organizationName);
    QCoreApplication::setApplicationName(personal::appName);
 
    QApplication app(argc, argv);
    MainWindow baseConvWindow;
    baseConvWindow.show();
 
    return app.exec();
}
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
07.09.2013, 02:57     Нужно ли документировать проект? #13
Цитата Сообщение от gromo Посмотреть сообщение
А это можно как-то реализовать в Qt Creator?
Да, можно. Но несколько геморройно. Ман здесь.
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
07.09.2013, 11:45  [ТС]     Нужно ли документировать проект? #14
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Да, можно. Но несколько геморройно. Ман здесь.
Там, насколько я понял, говорится об интеграции документации Ogre в Qt Creator. Мне же нужно сделать свою документацию своего проекта
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2013, 12:04     Нужно ли документировать проект?
Еще ссылки по теме:

В центре экрана нужно нарисовать квадрат. А в нем еще 8 В целом должно получиться 9 квадратов. И нужно их покрасить в 3 разные цвета - C++
помогите пожалуйста очень надо

нужно удалить и вывести все символы после *(его не нужно выводить). я смог наоборот вывести всё до него! помоите - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;string&quot; #include &quot;conio.h&quot; using namespace std; int _tmain(int argc, _TCHAR*...

нужно описать программу. т.е. каждую команду и каждую группу нужно расписать. подсобите пожалуйста - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; #define K_TO_M 0.6214 #define M_TO_K 1.6093 int main() { int k;...

Проект - C++
Всем привет!) Подкиньте идею какой проект можно сделать используя GTK+ и MVS2008.)) p.s. текстовые редакторы и шифрование не подходит(...

Проект на С++ - C++
Добрый день. МБ вопрос глупый. Как мне из своего проекта на Visual Studio сделать нормальное человеческое приложение? Т.е. не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
07.09.2013, 12:04     Нужно ли документировать проект? #15
Ну, лол, вместо документации Ogre подставляете свою и... вуаля. (Писать её, правда, придётся самостоятельно. Неудобно, да )
Yandex
Объявления
07.09.2013, 12:04     Нужно ли документировать проект?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru