java小学期大作业题目_c++小学期大作业攻略(零)建议+代码结构(持续更新)...

当前已经做好的exe,数据库是连服务器的,但是头像是存在本地的文件系统里面:

建议

可能完善码风的一点建议和做大作业过程中遇到的坑:

1. 尽可能不要在代码中出现魔法值,即常量尽可能用const赋予其意义,同时可以复用。全局常量建议在cpp文件中定义,其他文件通过头文件中的extern进行访问。

2. 小心你的头文件结构,如果相互包含可能导致bug。

3. Qt销毁元素时是会把它的子元素一并销毁的,所以我们并不需要太担心new出来的对象如何delete的问题。update:界面中的元素不要随意delete,手动delete可能在Qt内部删的时候导致崩溃。

代码结构

先摆一个数字,当前所有.cpp、.h文件(不包括ui_****.h)总大小:173KB

下面主要展示各对象中的数据成员及继承关系,我并不建议你在没有任何思考的情况下直接阅读(除非你大作业做不完了)。

User : Id, Nickname, password, Introduction, Age, Gender, Score, Balabce

派生:Candidate, Author, Manager, Translator

Task : Stage, Name, Description, Content, Amount, Author(SubTask), Maneger(SubTask), Candidates, Translators(SubTask), RecruitManagerDDL, FinalDDL

SubTask:User, Task

AuthorTask(SubTask)

ManagerTask(SubTask)

TranslatorTaks(SubTask) : From, To, Local, Submit, Comment

Database

Message

以下界面相关,带括号表示从中继承而来。

GetInformation

Translation(MainWindow): Menu*, Content*, Status*

Menu(QMenuBar)

Content(QWidget)  :

Index(Content) :

Login(Content, GetInformation) :

Register(Content, GetInformation) :

LeaderBoard(Content):

Personal(Content)

TaskList(Content)

NewTask(Content)

TaskInfo

MessageView

Status(QStatusBar)

这里用了一个多继承,Login和Register有Centent和GetInformation两个父类,感觉写起来确实方便一些。但是都说多继承尽可能少用,我也不是很懂这里有没有增加耦合性,还是这么写了。后期应该可以用Lambda表达式替代掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值