求教Qt项目一些规范性的东西

王桑的一天 2019-07-23 10:14:25
请教一些规范性的东西,关于Qt项目。

1. 文件命名
你们通常用驼峰、还是下划线?均可?网上看了一点google c++规范,也可以用在Qt项目中?

2. 项目结构
默认是有个 Source和Header文件夹。你们会再细分吗?
全局变量放哪?全局常量配置放哪?应该不会是放在 Source 或 Header目录中吧?
qss文件、语言翻译 *.qm/ *.ts、资源图标之类的放哪?是项目目录吗? 通常是放在一个目录,还是弄成 qrc 放 exe里?
能否发个项目结构示例,多谢


3. mingw编译器
主要是在Windows平台,未来有可能移植Linux 的情况下。
用默认的mingw编译器,除了网上说的msvc三方库使用/编译不便,还有其它的潜在问题没?比如程序性能,编译速度,Bug
...全文
396 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
走好每一步 2019-07-30
  • 打赏
  • 举报
回复
楼主可以看下设计模式相关的书籍,最好能参与一个代码量比较大的项目,有几个人相互合作的。 后面对分层和规范你就有概念了,不然光看书很难理解的,我以前看了好多书都没法理解。 楼上有一位也说了,规范只有合适不合适,没有说是固化的。 匈牙利是历史的产品,那是编译器和IDE都很弱的。 面向对象觉得还是使用驼峰好一些。
走好每一步 2019-07-30
  • 打赏
  • 举报
回复
引用 9 楼 管理員 的回复:
[quote=引用 8 楼 管理員 的回复:] [quote=引用 1 楼 Lost_Future 的回复:] 1. 可以用google,老的还是用匈牙利。 2. 会细分,有qrc。 3. mingw64位不怎么好弄。
怎么分?我用QtCreator没法建子文件夹呀,手动建一个,文件放进去,QtCreator里就看不到了[/quote] 哦是要改pro文件里的路径对吧[/quote] pro文件里加,还有pri可以了解下,很简单。 代码规模大的话建议分模块吧,每个模块各司其职,只对上层提供服务, 也就是说,模块它不能调用上层的任何函数和接口,只能调下层的接口。 专业名词好像是叫啥我忘记了,反正就是不要有那种相互依赖的关系 A->B B->A 这种代码是灾难性的,我接手过一个,维护到生了一场大病,病了一个月。
FlyToTMoon 2019-07-30
  • 打赏
  • 举报
回复
引用 9 楼 管理員 的回复:
[quote=引用 8 楼 管理員 的回复:] [quote=引用 1 楼 Lost_Future 的回复:] 1. 可以用google,老的还是用匈牙利。 2. 会细分,有qrc。 3. mingw64位不怎么好弄。
怎么分?我用QtCreator没法建子文件夹呀,手动建一个,文件放进去,QtCreator里就看不到了[/quote] 哦是要改pro文件里的路径对吧[/quote] 简单点你先建立文件夹,后面新增或者加现有的都注意下路径,pro里会自动增加路径
INCLUDEPATH +=
pro里这个需要自己增加下
王桑的一天 2019-07-29
  • 打赏
  • 举报
回复
引用 8 楼 管理員 的回复:
[quote=引用 1 楼 Lost_Future 的回复:]
1. 可以用google,老的还是用匈牙利。

2. 会细分,有qrc。

3. mingw64位不怎么好弄。

怎么分?我用QtCreator没法建子文件夹呀,手动建一个,文件放进去,QtCreator里就看不到了[/quote]
哦是要改pro文件里的路径对吧
王桑的一天 2019-07-29
  • 打赏
  • 举报
回复
引用 1 楼 Lost_Future 的回复:
1. 可以用google,老的还是用匈牙利。

2. 会细分,有qrc。

3. mingw64位不怎么好弄。

怎么分?我用QtCreator没法建子文件夹呀,手动建一个,文件放进去,QtCreator里就看不到了
姚传明 2019-07-29
  • 打赏
  • 举报
回复
以项目或所在单位要求标准为参考。建议把精力放在用户体验上,编码基础实现方面总是在不断变化,没有最好只有最合适。
走好每一步 2019-07-28
  • 打赏
  • 举报
回复
主要还是看你项目规模吧,规模小点的我觉得也不需太在意规范。
上了十万行的代码,不规范是灾难性的!
走好每一步 2019-07-28
  • 打赏
  • 举报
回复
跨模块的全局变量不可取,如果只是在同一个cpp里的全局变量,会定义static。
我的习惯是变量什么时候用,什么时候定义,尽量缩小变量的作用域。


除了字符串加str,类变量加m_,全局加g_,其它匈牙利被我扔到垃圾堆里了。
走好每一步 2019-07-28
  • 打赏
  • 举报
回复
引用 楼主 管理員 的回复:
请教一些规范性的东西,关于Qt项目。

1. 文件命名
你们通常用驼峰、还是下划线?均可?网上看了一点google c++规范,也可以用在Qt项目中?

2. 项目结构
默认是有个 Source和Header文件夹。你们会再细分吗?
全局变量放哪?全局常量配置放哪?应该不会是放在 Source 或 Header目录中吧?
qss文件、语言翻译 *.qm/ *.ts、资源图标之类的放哪?是项目目录吗? 通常是放在一个目录,还是弄成 qrc 放 exe里?
能否发个项目结构示例,多谢


3. mingw编译器
主要是在Windows平台,未来有可能移植Linux 的情况下。
用默认的mingw编译器,除了网上说的msvc三方库使用/编译不便,还有其它的潜在问题没?比如程序性能,编译速度,Bug


1、驼峰,匈牙利看起来很累,而且现在IDE这么强大,没必要带这些前缀
2、会细分,大的模块封装成动态库,如果是小程序,也会分模块放好
小程序qrc就随意放
3、跨平台是要一开始就要考虑,后面再考虑很难了
feiyangqingyun 2019-07-25
  • 打赏
  • 举报
回复
可以参见Qtcreator源码写法即可!
  • 打赏
  • 举报
回复
Google可以用啊,本身里面都是c++的语法,文件命名,函数命名,返回值类型,这些都可以参考,形成习惯 文件分类也很重要的,尤其对于大的项目来讲,通常会按照模块划分,里面再分子模块,你说的头文件源文件不用管,qt加载这些文件的时候会自动给你显示为上面全部都是头文件下面都是源文件的,你只用划分自己的模块文件就会很清晰了 个人习惯会将图片等文件使用相对路径的方法使用,没有加载成资源文件,楼主可以对比一下两者的运行效率和空间占用情况是否一样
FlyToTMoon 2019-07-23
  • 打赏
  • 举报
回复
1. 可以用google,老的还是用匈牙利。 2. 会细分,有qrc。 3. mingw64位不怎么好弄。

16,201

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧