1回顶部 本鲨于2003年1月份从事程序开发工作,至今有19个月之久。其中断断续续地工作皆因自己经验不足开发出来的东西粗制滥造,以致于漂泊不定,就业困难!而今本鲨已达了合格程序员的能力了。 一般来说 针对刚毕业的程序员开发任务只是一个项目中子项目中的一个模块。 一个模块差不多有5-6个窗体代码量约有2000行。其实这种任务量和毕业设计不上下,应该能完成得了,只是开发的时间比较少,约6-12天的工作日,而不是学校里的1-2个月,另外还有同学帮助。所以对开发者对开发工具,语法,框架和库熟练。另外对系统平台运行机制和算法要求能了解,知道是怎么回事。要求对程序员能积极主动地工作,而不是被动工作。能主动去找资料,询问同事,以及要求同事给予任务不明之处的协助。 只有在面试的时候, 你的代码风格才会对面试官产生影响.风格是给人看的,自然要符合美观条件.虽然有很多公司整了一套风格标准,我觉得很无聊得事情.风格之类没有必要强求.既然大家用的是Borland工具最好遵循Borland风格. 2回顶部 3)TComboBox 如果只容许选择的话 Style:= csDropDownList; Sorted :=True; 当向其的Items添加数据时该 FontCombo->Items->BeginUpdate(); // prevent repaints until done 这点无论数据多少 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)
相同的组件要放在一起 并且与周围的对齐,上下左右对齐. 并且跟其他容器的组件对齐 ,这点很多新手忽视了!因为Borland对齐工具只能对亲本容器下的 ,最后给人一整齐的美观. 3回顶部 3)非法访问检查:测试是否存在非法内存访问错误。判断是否属于此类错误的参考错误信息类似: ”…not found”, ”List index out of bounds…”, “Access violation at address…” 4)提示信息指导性检查:在任何可输入的地方,包括编辑框、表格框、选择框随意输入任何字符,包括英文字符和中文字符,测试是否会引发非法访问错误、对不可接受的字符是否有提示、提示指导性是否强。 5)单元化检查:检查本单元内的 单元头说明, 各个函数说明,注解说明是否正确。引用说明是否有多余之引用 //尤其是C++ 头文件包含了不必要的Include 会给其他单元发生不必要的问题 其实这些叫做白合测试和单元测试内容。 如果是按照测试书而言 你要另外去写测试的代码,我想每个开发人员都不原意的!可不作又不行,容易出错不好交货的。因此非常有必要了解测试的方法,这些方法大学的软件工程都有介绍,而且考软件设计师也要考的。每当写程序时你就会留心考虑不同的情况下可能会出什么错误! 虽然在实现函数时要用到的变量是否会为空?值是否有效?是否溢出越界?是否清空变量的空间?是否大小写的要求?是否前后有空格? 这些判断首先要写在函数,过程的开始处! if(TreeView->Selected ==NULL) //变量是否会为空? 5 默认数据,提示,定位和友好性 当界面显示完后 该有数据默认显示出来 TDBGird TListView TTreeView ComboBox 都该有数据显示 ComboBox1.ItemIndex := 0; 一般来说新增和修改都会单对用一个界面来编辑。当新增完后回到浏览界面时 所有组件都要定位到刚刚新增的记录上,修改也如此。当删除时要定位到下一条记录。 ListView 和DBGird 要具有排序的功能 单击标题可按数字 字母 日期 升/降 ListView 和DBGird 当被选定数据 焦点被移动按钮上作动作时 要显示当前选择的数据是哪行!! void __fastcall TfrmGather760::lvDataCustomDrawItem(TCustomListView *Sender, TListItem *Item, TCustomDrawState State,bool &DefaultDraw) //这段代码 会在选定行下画黄底 4回顶部 对一般超过2秒的操作要在函数中 TCursor OldCursor; 6 按钮互徹 当每完成一个操作动作时 有些按钮要变成无效状态,在什么情况下又恢复有效。虽然只有一段话,如果不设置无效的话会经常带来各种致命错误!因为你是无法预测用户将会如何去操作你的软件,可用Rose来画出状态图或者用Word来表示! 7 性能 当数据多时超过100条,ComboBox Listbox TreeView ListView DBGrid 等数据显示组件边输入边查询 支持模糊查询 模糊查询无非就是 Like ‘%XXX%’可以做个单独的窗口把查到的数据显示在窗口中 void __fastcall TfrmGather760::Edt_NameKeyPress(TObject *Sender,char &Key) 8 其他 在开发一个模块时会单独使用个单元和DFM用作公共单元。会在单元里面 作个字符传结构体 Struct TableName 而Delphi ResoucString 段 可以被资源化更容易本地化 新增修改时 对数据的检查 全部集中在保存按钮下 void __fastcall TForm3::Btn_SaveClick(Sender) 在校的学生们大部分的毕业设计都是数据库之类的不是两层就是三层。要认真去做毕业设计的程序,要花钱请同学帮你做测试,提出更多的操作便利性。只有通过别人的测试,使用你的能力才会提高,代码大多数是异常处理和用户友好性!你带着作品去找工作会非常容易找到好的公司 其实从事数据库前台开发,重要的是写用户友好性代码!作程序员不仅仅是智力劳动 更是体力和心力的劳动! |
正在阅读:Delphi&BCB一线程序员开发经验Delphi&BCB一线程序员开发经验
2005-07-27 10:07
出处:
责任编辑:moningfeng