5. 程序备份
5.1. 要有备份记录
备份时注明备份日期和主要增加的功能
5.2. 定时备份
根据程序量的多少,可以每天备份一次,也可以半天备份。
5.3. 多种介质备份
至少在硬盘上做2个备份,在软盘上做一个备份;在使用他人主机进行备份时,不可放于没有密码保护的ftp服务器上,可以发送到自己的email信箱中进行备份。
5.4 在软盘上备份时,应该去掉中间文件和执行文件,vc可以自动生成的文件如*.clw, *.ncb, *.opt等也可删除,最后压成一个zip文件,复制到软盘中。
-
-
xilinxue 发表于 2008/11/5 18:54:43
6.1.颜色选择:
6.1.1 基调应以WINDOWS颜色(灰色)为主,同一个窗体中除白、黑、灰色之外,其它的颜色总数不宜超过3种(对以生产和学习为目的的软件而言,娱乐性软件可以做得花哨一些;
6.1.2 窗体和控件(除EDIT、RICH EDIT等编辑控件外)的背景色也宜用灰色,当一个控件有输入焦点或鼠标焦点时,可以用较明亮的颜色;
6.1.3 非激活状态下,字体前景宜用黑色,背景用灰色;
6.2.字体的选择:
6.2.1 汉字字体一般选宋体,字体大小选10号;
6.2.2 一般选系统常用的字体,绝对不要选自己加入的而系统没有的字体;
6.3.图片的选择
6.3.1 在窗体的工具拦中的按钮可以用图标,文字可以写上也可以不写,如果不写则一定要使用tip来提示用户该按钮完成的功能;
6.3.2 在按钮中使用的图片要能表达按钮对应功能的意义;
6.3.3 不宜对普通的按钮只用图标做外观;
6.4.操作的便利性
6.4.1 为方便用户的使用,所有的输入控件应该按tab键和回车键排序,特别是密码输入时,应该能用回车切换输入框的焦点;
6.5.数据安全
6.5.1 对程序的退出、写数据等有破坏可能或数据丢失可能的操作应该给用户一次确认的机会;
6.6.帮助文件
6.6.1 帮助文件宜用html格式,因为hlp格式的文件只能在windows中用;
6.7.窗体大小的确定
6.7.1 一般窗体的大小应该可以让用户自己调整,窗体的初始长宽比例为4:3
6.7.2 要考虑到用户可能会用到不同的分辨率,在开发时应使用当时流行的分辨率;
6.7.3 除非必要,否则不宜用模态窗体,但可以让用户选择使窗体成为模态窗体;
6.7.4 应用程序的大小不固定时(拖动窗口的右下角时可以改变窗体大小),应处理窗体变化时窗体内各控件大小和位置的变化;
6.8.视图的选择(单/多文档界面类型)
6.8.1 对于一个简单的文本编辑器应用程序,选择CEditView;
6.8.2 对于一个能编辑多信息文本格式( RT F )文件的应用程序,选择CRichEditView(这一选择将导致应用程序为文档类选择CRichEditDoc类);
6.8.3 对于一个图形应用程序,选择CScrollView;
6.8.4 对于一个简单的监控或帐目管理应用程序,选择CListView;
6.8.5 要着手创建一个资源管理器类型的应用程序,请选择CTreeView(在以后的步骤中,可以手工添加一个
CListView);
6.8.6 在对话框模板外创建一个视图,选择CFormView(一个对话框是一个被几个控件窗口占据的窗口,诸如按钮和编辑框);
6.9. MFC应用程序类型的选择:
6.9.1 如果创建一个用户界面需求有限的应用程序,或如果想界面完全单一,那么就创建一个对话框应用程序。典型的对话框应用程序包括配置硬件设备的应用程序、屏幕保护程序和游戏程序等;
对话框要易用且简洁,字体和控件的组织搭配要得体,能简单不复杂,各控件的焦点、Tab顺序等要讲究,视应用场合要适当支持键盘。在简洁易用的前提下,力求个性化,设计得更加友好。程序各对话框的风格要保持一致。
6.9.2 如果应用程序要编辑一个文档,应该选择单/多文档界面类型。这里的“编辑一个文档”是广义上的意思,所指的文档可以是一个文本文件、电子数据表文件、第三方数据库的一个或多个表、或者是自己的二进制文件,甚至可以是大量硬件设备的储存设置。编辑仅仅表示对其中任何一个类型的文档进行添加、删除或修改操作。6.9.3 单文档界面应用程序一次只允许处理一个文档。如果应用程序实际上一次只需处理一个文档,诸如监视一组硬件设备的应用程序,那么应该选择单文档界面;否则应该创建一个多文档界面应用程序,即使在开始时一次编辑多个文档并未显出有任何好处。
6.9.4 一个多文档界面应用程序允许一次编辑多个文档,它并不比一个单文档界面应用程序复杂,但却带来了一次至少查看多个文档的方便。
6.9.5 在重要的窗口或区域应能弹出右键,实现常见操作。工具栏上放最常用的操作按钮,必要时动态更换按钮。状态栏显示足够多的有用信息。消息主控在Mainframe中,单文档的主控也可在View中,所有的对话框的弹出或非模态对话框的控制都在主控窗口中完成,具体的数据处理放在单独的文件中或设计成类。在App类中实现Ini读写,各数据对象的定义和析构,全局变量的赋值和初始计算,存盘退出等。各视图的OnDraw和GDI画图尽量使用内存位图的方式,以免闪烁。
6.10. 操作进度指示6.10.1 把鼠标光标暂时变成沙漏形状,以指示一个漫长的操作,要求用户应该等待。
6.10.2 可以用沙漏光标指示短暂的等待。对于长时间的等待,可以考虑使用一个无模式对话框,并在上面显示简短的消息,描述正进行什么处理;
6.11. 分隔线控件
6.11.1 为统一起见不要使用分组框、按钮等控件做分隔线,应按如下做法:用Picture Control,属性设为Etched和Frame,使该控件缩小到一条直线;
引用 xilinxue 2008/11/5 18:54:43 发表于2楼的内容
-
-
xilinxue 发表于 2008/11/5 18:58:19
7.1. 为保证系统间的兼容性,不使用int类型(因为不同系统之间的存储字节长度往往
不同),应使用long或short型。
7.2. 头文件名应小写,如用#include“abcdef.h”;7.3. 本系统中注释统一只用“//”;
7.4 if(0 == GetDataType(…))比if(GetDataType(…) == 0) 好,纵使误将==写成=,在编译一层就会报错。
7.5 函数定义short GetInputType( const char * lpzInput)比short GetInputType (char * lpzInput)好,以免lpzInput在函数体中被破坏。
7.6 变量在定义时赋初值,类析构时或程序退出时判断释放所有变量。
7.7 编码空间一定要充分预留,编码时注意可扩充性, 如:定义保留字段,供以后扩充使用7.8 不要大量使用无符号型变量。无符号变量在判断时易造成错误,甚至死循环,尽量少用。
7.10 代码中不要用"+2","+4",要用"+sizeof(short)","+sizeof(int)";不要用 filename[40],而是filename[MAX_PATH]。
7.9 少使用malloc,free,realloc;多用new,delete;new,delete是规范的C++语法,通用性强,realloc易造成内存抖动。
引用 xilinxue 2008/11/5 18:58:19 发表于3楼的内容