技术开发 频道

一个Delphi程序员自述的开发经验

【IT168 技术文档】

  一般来说,针对刚毕业的程序员开发任务只是一个项目中子项目中的一个模块。一个模块差不多有5-6个窗体代码量约有2000行。其实这种任务量和毕业设计不上下,应该能完成得了,只是开发的时间比较少,约6-12天的工作日,而不是学校里的1-2个月,另外还有同学帮助。所以对开发者对开发工具,语法,框架和库熟练。另外对系统平台运行机制和算法要求能了解,知道是怎么回事。要求对程序员能积极主动地工作,而不是被动工作。能主动去找资料,询问同事,以及要求同事给予任务不明之处的协助。
 
  本人主要从事数据库系统前台的开发任务,因此主要使用数据库常用组件来说明下,其实数据系统的前台的任务是最繁重而总是遭受到用户的指责。
 
一般的开发步骤是:了解任务需求,先实行功能,解决功能的异常处理,实现用户友好性,解决用户友好性。
 
  性能问题就交给以后数据量大时用户实在忍受不了再去解决!目前赶任务要紧,做数据库前台,无非是新增,删除,修改,保存,查询,统计。常用到以下组件:
 
TEdit,TComboBox,TListView,TTreeView,TCheckListBox,TLabel,TDBGrid,TImage,
TMemo,TButton,TDBChart,TPanel,TMaskEdit,TDateTimePicker,TPageControl
 
代码风格
 
  只有在面试的时候,你的代码风格才会对面试官产生影响。风格是给人看的,自然要符合美观条件。虽然有很多公司整了一套风格标准,我觉得很无聊得事情。风格之类没有必要强求。既然大家用的是Borland工具最好遵循Borland风格。
 
组件属性设置
 
1) TLabel : AutoSize = Flase;
 
2)TEdit 设置 MaxLength值 默认输入法的值
 
3)TComboBox 如果只容许选择的话 Style:= csDropDownList; Sorted :=True;
 
当向其的Items添加数据时该
 
FontCombo->Items->BeginUpdate(); // prevent repaints until done
 
FontCombo->Items->Add(XXX); //
 
FontCombo->Items->EndUpdate(); //reenable painting
 
这点无论数据多少 TListView TTreeView TDBGird 都有类似的数据显示屏蔽的功能
 
4)TTreeView 如果不修改节点的文字 要ReadOnly RowSelect = true;
 
5)TListView ViewStyle vsReport要ReadOnly RowSelect = true; 如果不修改
 
6)TPageControl 在FormShow 或者Create事件中 PageControl1.ActivePageIndex := 0;
 
7)TDateTimePicker DateFormat := dfLong 如果把时间复制到Edit中时
 
Edit.Text := DateTimeFormate(YYYY-MM-DD,DateTimePicker1.Date)
 
8)TButton 要设置 Cancel ModalResult Hint
 
界面布局
 
  相同的组件要放在一起,并且与周围的对齐,上下左右对齐。并且跟其他容器的组件对齐,这点很多新手忽视了。因为Borland对齐工具只能对亲本容器下的,最后给人一整齐的美观。
 
界面布局细则
 
1)完成相同或相近功能的按钮用Frame框起来,常用按钮要支持快捷方式。
 
2)完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。
 
3)按功能将界面划分局域块,用Frame框括起来,并要有功能说明或标题。
 
4)界面要支持键盘自动浏览按钮功能,即按Tab键的自动切换功能。
 
5)界面上首先应输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。
 
6)同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。
 
7)分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab
 
8)默认按钮要支持Enter及选操作,即按Enter后自动执行默认按钮对应操作。
 
9)可写控件检测到非法输入后应给出说明并能自动获得焦点。
 
10)Tab键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。
 
11)复选框和选项框按选择几率的高底而先后排列。
 
12)复选框和选项框要有默认选项,并支持Tab选择。
 
13)选项数相同时多用选项框而不用下拉列表框。
 
14)界面空间较小时使用下拉框而不用选项框。
 
15)选项数叫少时使用选项框,相反使用下拉列表框。
 
16)专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼。
 
代码
 
1)功能检查:检查需求所要求的功能和限制条件是否全部实现。
 
2)界限检查:对功能进行界限检查,比如不同的数据类型输入,或者是不同范围的数据。
 
3)非法访问检查:测试是否存在非法内存访问错误。判断是否属于此类错误的参考错误信息类似:
 
…not found, List index out of bounds…, Access violation at address…
 
4)提示信息指导性检查:在任何可输入的地方,包括编辑框、表格框、选择框随意输入任何字符,包括英文字符和中文字符,测试是否会引发非法访问错误、对不可接受的字符是否有提示、提示指导性是否强。
 
5)单元化检查:检查本单元内的单元头说明,各个函数说明,注解说明是否正确,引用说明是否有多余之引用。
0
相关文章