This is an old revision of the document!
Develop topic
预备知识
C参考书籍: 《C程序设计语言》 (Kernighan & Ritchie)
C++ 参考书籍:《C++ primer》
-
FEM 参考书籍:《有限单元法》 (王勖成)
设计模式
-
-
开发工具
如何开发XT
开发准备工作
安装Visual Studio2015
安装Qt5.9
-
-
在代码目录下build\xt_pre拷贝build_win64_pre_template.bat成自己的版本,并修改三方库路径@SET THIRD_LIB_PATH=%CD%\3rdparty_libs_win64为实际路径
确认代码目录下distribution\common存在icons、uisetting目录
修改Qt安装目录下bin\qtvars.bat如下(将devenv /useenv改为devenv /useenv %2):
@echo off
rem
rem This file is generated by the Qt installer
rem
echo Setting up a Qt environment...
set QTDIR=C:\Qt\5.12.5
echo -- QTDIR set to C:\Qt\5.12.5
set PATH=C:\Qt\5.12.5\bin;%PATH%
echo -- Added C:\Qt\5.12.5\bin to PATH
set QMAKESPEC=win32-msvc2015
echo -- QMAKESPEC set to "win32-msvc2008"
if not "%1"=="vsvars" goto ENDVSVARS
call "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
:ENDVSVARS
if not "%1"=="vsstart" goto ENDVSSTART
call "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
devenv /useenv %2
:ENDVSSTART
开发流程
技术组通过Trac系统向开发组提出需求以及详细的需求文档和测试案例
项目经理通过Trac系统向开发工程师分配任务
开发工程师评估任务可完成性以及完成时间
项目经理通过Trac确认任务时间表
开发工程师开发/测试
开发工程师每周五通过Trac系统更新任务进度并向项目经理提交本周工作报告
开发工程师完成开发测试之后通过Trac系统向技术组报告测试案例结果
开发工程师形成开发文档
项目经理发布测试版(一般每周一次)
技术组测试所需功能并通过Trac系统反馈bug
开发工程师修正bug并通过Trac系统更新bug状态
技术组通过Trac系统确认bug修正
技术组形成技术文档
如何编写开发文档
类定义文档
类实现文档
API定义文档
API实现文档
-
函数功能介绍
函数编写者
函数编写时间
函数逻辑
函数的修改历史,包括修改人,修改时间,修改事项
如何使用SVN
-
下载源代码或其他资源文件
进入目标目录(用户需要放置源文件的目录下)
鼠标右键选择SVN checkout…
对话框中第一个输入框(URL of repository)输入源码仓库路径
1)
点击OK,完成源码检出
上传文件
鼠标右键单击本地代码文件或是目录
选择SVN commit…
更新文件
鼠标右键单击本地代码文件或是目录
选择SVN update…
如何使用Trac
-
-
选择工程Project进入登录页面,输入用户名以及密码
2)
-
单击个人设置
单击一般
输入本人的ID和邮箱
单击保存变更
单击查看任务单查看任务
单击新建任务单新建任务
编程技术知识点
比较浮点数的时候注意截断带来的误差
前后处理定制开发
平台库xt-kernel.lib,xt-utility.lib,xt-domain.lib,xt-application.lib,xt-ui.lib
前处理库pre-domain.lib,pre-toolkit.lib,pre-mesher.lib,pre-application.lib,pre-commands.lib
后处理库post-domain.lib,post-application.lib,post-commands.lib
宏定义与枚举变量,每个定制项目都有自己独立的命名空间,有独立的宏定义文件(××define.h)和枚举变量头文件(××enum.h),除非特别要求,在定制项目内添加的任何宏定义与枚举变量都只能修改这两个头文件。
界面翻译
使用Qt Linguist工具
字符串命名空间规则
菜单项,工具条项,模型树:XT::MainFrame
命令窗口:XT::CommandWindow
其他:QObject