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

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

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: Соглашения по стилю написания кода в Qt  (Прочитано 23033 раз)
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #15 : Январь 27, 2010, 08:03 »

Такс, раз используем префикс - то что предпочтительнее:
2.
Код:
Код:
...
#include "QtCore/qstring.h"
#include "QtCore/qstringlist.h"
...

или

3.
Код:
Код:
...
#include "QtCore/QString"
#include "QtCore/QStringList"
...

? Улыбающийся (не могу выбрать)

Работают ли другие системы сборки (крое qmake) с п. №3 ? (думаю CMake работает... А вот другие - хз)

Чтобы уж точно на будущее определиться с стилем !!!
« Последнее редактирование: Январь 27, 2010, 08:06 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
crackedmind
Гость
« Ответ #16 : Январь 27, 2010, 08:26 »

А с чего вдруг пункт №3 не должен работать на других системах сборки? Если пути к хедерам прописаны верно, то все отлично соберется.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


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

Цитировать
А с чего вдруг пункт №3 не должен работать на других системах сборки? Если пути к хедерам прописаны верно, то все отлично соберется.
Усп... понятно.
« Последнее редактирование: Январь 27, 2010, 08:44 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
niXman
Гость
« Ответ #18 : Январь 27, 2010, 09:28 »

пункт №3
Записан
niXman
Гость
« Ответ #19 : Январь 27, 2010, 09:31 »

Цитировать
Это обработка исключений. Qt не генерирует исключения. Ненужно путать
а где я говорил что Qt генерирует исключения?

Цитировать
Использую precompiled headers куда подключаю хедеры библиотек и не парюс
помоему мингв не поддерживает precompiled headers? поправьте если неправ.
Записан
crackedmind
Гость
« Ответ #20 : Январь 27, 2010, 11:38 »

Цитировать
помоему мингв не поддерживает precompiled headers? поправьте если неправ.
AFAIK, gcc их с версии 3.4 поддерживает.
Записан
niXman
Гость
« Ответ #21 : Январь 27, 2010, 11:47 »

Цитировать
gcc их с версии 3.4 поддерживает.
я говорю именно про мингв. поддерживает? пруфлинк пожалуйста. и пример если не сложно.
Записан
SASA
Гость
« Ответ #22 : Январь 27, 2010, 12:47 »

Код:
...
#include "QtCore/QString"
#include "QtCore/QStringList"
...

Я бы всё таки написл
Код:
#include <QtCore/QString>
#include <QtCore/QStringList>

Но, по-моему проще
А я всегда использую то как в описании класса в асистенте написано, т.е.:
#include <QString>
Встаил классик -> компилятор оругался -> copy/past из ассистанта. Отработаная технология.

По поводу префексов. Если я подключаю модуль, то по любому надо править проект. Подключить либку, добавить инклудпас.
Если используешь про-файл, то нужно его чуток подправить.
В студии, это тоже деоается одной командой.

Т.е. префикс нужен только для наглядности. У меня как-то не первая необходимость знать какой класс к какому модулю относится.
Вывод - гемороя больше чем пользы.
Записан
crackedmind
Гость
« Ответ #23 : Январь 27, 2010, 12:53 »

Цитировать
я говорю именно про мингв. поддерживает? пруфлинк пожалуйста. и пример если не сложно.
А чем mingw от gcc отличается, кроме поддержки винды? Улыбающийся)

p.s. сойдет ли за пруф, то что мой проект в котором используются precompiled headers собирается на mingw? Веселый
Записан
niXman
Гость
« Ответ #24 : Январь 27, 2010, 13:00 »

Цитировать
А чем mingw от gcc отличается, кроме поддержки винды?
ц-ц-ц...

Цитировать
p.s. сойдет ли за пруф, то что мой проект в котором используются precompiled headers собирается на mingw?
голословное утверждение.

зы
прошу заметить, я не отрицаю того факта, что возможно, мингв поддерживает precompiled headers. просто хочу увидеть доказательство. ничего более.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #25 : Январь 27, 2010, 13:17 »

niXman
если оно поддерживается в гцц, то логично никто не станет писать о том, что оно поддерживается в в мигв - это логично подразумевается... Если бы было наоборот, то была бы куча воплей в гугле, коих мы не видим => они таки поддерживаются.

по поводу исключений - исключения зло... Они нарастают точно также как ифы. Писал на шарпе 1 программку, там кэтчей было больше чем кода... отловить что файл не существует, что-то кирдыкнулось в винде, отловить то, сё, чем дальше тестишь, тем больше "исключительных" (о ужас, нам отправку почту зарезал фиреволл) ситуаций всплывает...
Записан
crackedmind
Гость
« Ответ #26 : Январь 27, 2010, 13:27 »

Цитировать
зы
прошу заметить, я не отрицаю того факта, что возможно, мингв поддерживает precompiled headers. просто хочу увидеть доказательство. ничего более.
так блин, ради бога, возьмите и скомпилируйте. Проверить то не долго.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #27 : Январь 27, 2010, 15:00 »

Цитировать
Qt написана без исключений, KDE написано на 99.9% без исключений.
невнимательно читали)
http://forum.vingrad.ru/index.php?showtopic=281797&view=findpost&p=2032673

В 4.5.3 не нашёл такого, видимо это добавили только в 4.6
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


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

Еще меня "путает" такое утверждение из статьи:
1.
Цитировать
В исходных кодах подключайте вначале специализированные заголовочные файлы, а затем уже общие.

\#include <qstring.h> // класс Qt

\#include <new> // файлы стандартной библиотеки C++

\#include <limits.h> // общесистемные файлы

Файл qplatformdefs.h необходимо всегда включать первым.

Если вам нужно подключить qt_x11_p.h, то подключайте его самым последним.

НО! Просмотрев исходники Qt4 + программ из /tools и т.п. вижу что там все не так:
Код:
#include "ui3reader.h"
#include "parser.h"
#include "domtool.h"
#include "globaldefs.h"
#include <QRegExp>
#include <QStringList>
#include <QtDebug>

т.е. все наоборот ! о_О .. Кому верить?

----
2.
также в некоторых циклах for присутствует префиксная и постфиксная запись инкремента переменной i ... Какая быстрее и лучше?
--
упс, по поводу вопроса №2 говорят в гугле что вариант в цикле ++i будет работать быстрее чем i++ !!

но лучше всего писать так:
Код:
...
for(int i = 0; i < 100000000; i+=1);
...
взято отсюда: http://www.kirupa.com/forum/showthread.php?t=294799

« Последнее редактирование: Январь 29, 2010, 13:59 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
SABROG
Гость
« Ответ #29 : Январь 29, 2010, 14:22 »


Ориентироваться на оптимизацию в Action Script (flash) и пытаться применить её в C++, мягко говоря не правильно. Ты сам то пытался провести бенчмарк с i+=1 в C++?

Везде пишут, что ++i быстрее, за счет того, что не создается временная переменная. Лучше тут почитай: http://www.agner.org/optimize/
« Последнее редактирование: Январь 29, 2010, 14:24 от SABROG » Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


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