求教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
...全文
476 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位不怎么好弄。
代码下载地址: https://pan.quark.cn/s/30aac9886e4b 【汉字录入能力评估平台】是中国邮政为了增强员工汉字输入的效率与精确度而研发的一款专业化训练与考核平台。该平台主要面向中国邮政服务窗口工作人员的岗前培训,致力于保障工作人员在实际操作中能够迅速且精准地处理各类文字资料,进而优化邮政服务的效能与品质。文字录入作为邮政作业中的核心技能,在数字化时代背景下尤为重要,邮政柜员需处理大量电子化文档及电子邮件,卓越的文字输入技巧直接关联到业务流程的连贯性。该平台整合了训练与测试两大核心功能,为用户构建了一个全方位提升汉字输入技巧的环境。平台的训练模块可能具备以下特征:1. **入门级训练**:提供不同难度的汉字及词汇组合,引导用户从基础开始,逐步强化录入速度。2. **情境化模拟**:重现真实的邮政作业场景,让实践者于近似现实的工作状态下进行练习,提升环境适应力。3. **速录强化**:运用计时及计字量机制,要求用户在限定时段内尽可能多地完成汉字输入,以锻炼高速录入能力。4. **偏差修正**:系统将实时识别并反馈用户的输入偏差,协助用户纠正不良输入习惯,提升正确度。5. **定制化配置**:或许允许用户依据个人需求调整训练内容与难度,实现个性化学习路径。测试模块则可能包含以下要素:1. **标准化测试**:确立统一的标准,例如规定时间内必须完成的汉字数量或必须达到的准确率,以此衡量用户汉字输入的熟练程度。2. **表现追踪**:记载每次测试的表现,形成历史数据,使用户能够追踪自身成长轨迹。3. **绩效对比**:或许设有内部绩效排行机制,让用户了解自身在团队中的相对位置,激发竞争心态。4. **资格认证**:对于达到特定标准的用户,平台可...
内容概要:本文围绕售电市场环境下电力用户选择售电公司的行为展开深入研究,通过构建数学模型与博弈分析框架,系统探讨用户在不同电价机制、服务质量、合同条款及风险偏好等因素影响下的决策行为与选择偏好。研究采用Matlab作为仿真平台,结合实证数据或设定典型场景,运用主从博弈、多智能体模拟、优化算法等方法,模拟电力市场中多方主体之间的交互过程,重点分析售电公司定价策略、激励机制与用户响应之间的动态关系,揭示市场主体间的行为演化规律与均衡机制,旨在为电力市场化改革中的机制设计、市场监管与政策制定提供理论支撑与量化依据。; 适合人群:具备一定电力系统基础知识、微观经济学或博弈论理论背景,熟悉Matlab编程与数值仿真的科研人员、高校研究生及能源领域相关从业者。; 使用场景及目标【EI复现】售电市场环境下电力用户选择售电公司行为研究(Matlab代码实现):①掌握电力市场中用户购电行为建模与效用函数设计方法;②熟练运用Matlab实现博弈模型构建、多智能体仿真与市场均衡求解;③深入理解售电侧市场竞争机制,为售电公司制定差异化营销策略、政府设计用户激励政策及提升市场运营效率提供决策支持。; 阅读建议:此资源以Matlab代码实现为核心,建议读者结合文档说明逐步运行并调试代码,通过调整模型参数(如电价水平、服务权重、用户敏感度等)观察仿真结果的变化,深入理解模型内在逻辑与行为机理;同时鼓励在此基础上拓展至多类型用户群体、引入不确定性因素或结合实际数据进行案例验证,以增强研究的实用性与创新性。

21,494

社区成员

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

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