-
┏┓ ┏┓
┏┛┻━━━┛┻┓
┃ ┃
┃ ━ ┃
┃... -
2009-09-24
delphi 线程的结束方式 - [技术交流]
delphi 的线程 TThread 可以使用一下几种方法结束:
1) 自动退出:execute
一个线程从execute()过程中退出,即意味着线程的终止,此时将调用windows的exitthread()函数来清除线程所占用的堆栈。
如果线程对象的 freeonterminate 属性设为true,则线程对象将自动删除,并释放线程所占用的资源。
这是消除线程对象最简单的办法。
2) 受控退出:t... -
2009-08-19
《程序员修炼之道》 第八章 注重实效的项目 - [新知随笔]
1. 注重实效的团队
不要保留破窗户。
主动监视环境的变化。
交流,文档一致,团队的风格。
不要重复,良好的资料管理。
正交性,围绕功能而不是工作职位组织团队。
自动化,自动化办公可以提高效率。
... ... -
2009-08-19
《程序员修炼之道》 第七章 在项目开始之前 - [新知随笔]
1. 需求之坑
(1)挖掘需求
需求往往隐藏在更深的层面,而且很难用文字表述清楚。
商业政策不应被硬性地写入需求,它们经常改变。
比如:“只有人事部们才能查看员工档案”,这是一个政策描述;
“只有授权用户才能查看员工档案”,这是一个需求描述。
需求应该着眼于用户做某件事情的原因,而不是做事情的方式。
“成为用户”,能更深入地了解需求。... -
2009-08-19
《程序员修炼之道》 第六章 当你编码时 - [新知随笔]
1. 靠巧合编程
有些情况下,程序只是由于一些偶然因素才运行得不错。这些程序没有在更极限的边界情况、或是一个新的环境、一个新的扩展下接收考验,甚至没有经过程序员自己的仔细斟酌,这是危险的。
一些约定上的误解、不规范的测试、文档中隐含的动作,都使程序成为一个巧合的短暂成功。
一些有效编码的建议:
<a> 时刻意识到在做什么。
<b> 不要盲目编程。要按照计划行事。
<c> 依靠可靠的... -
2009-08-18
《程序员修炼之道》 第五章 弯曲或折断 - [新知随笔]
本章旨在探讨,怎样生产出灵活、柔软的程序。
1. 解耦与得墨忒(tei)耳法则
在使用对象内部的某个属性时,不要用贯穿的方法去直接读取,应该使用一个包装过的读取函数。
得墨忒耳法则规定,某个对象中的任何方法内部,都应该只调用以下内容:
<a> 它自身。
<b> 传入该方法的任何参数,但不包括参数对象的属性。
<c> 方法内部创建的任何对象。
<d>... -
2009-08-17
delphi 中“断言”的使用 - [技术交流]
像c#,java这样的语言编译后不是二进制代码,而是可以解释执行的一种东西,这样在我们调试的时候,如果出错了,报的错可以显示错误所在的堆栈,方法,行号(当然,你release编译或者把pdb调试文件去了就没行号了),而Delphi就不行了。如果你在异常处理里想把异常出现的堆栈,方法和行号输出出来简直是不可能的。但有个你变通的方法,就是使用断言,断言在调试状态下可以指出错误行号(其实我编译生成exe后好像也可以输出源文件的行号,...
-
2009-08-17
《程序员修炼之道》 第四章 注重实效的偏执 - [新知随笔]
不可能写出完美的软件,因此程序员应该针对自己的错误进行防卫性编码。
1. 按合约设计
坦率是交流过程中最好的解决办法,用合约规定双方的权力和义务。
按合约设计(DBC):
用文档记载并约定软件模块的权力与责任,确保程序的正确。
一个程序业务例程的约定包括以下方面:
<a> 前提条件:执行例程之前必须满足的条件。
<b> 后条件:例程完成后,世界的状态。
<... -
2009-08-14
《程序员修炼之道》 第三章 基本工具 - [新知随笔]
1. 纯文本的威力
用纯文本保存知识,这样可以方便地在各种环境下使用和管理。
威力:
<a> 不会过时:即使使用纯文本数据的应用已经不存在了,这些数据仍可以被其他的应用使用。
<b> 杠杆作用:每一种计算机工具都可以处理纯文本。(Unix系统更是纯文本成功的范例)
<c> 容易测试:很方便修改纯文本的输入,纯文本的输出结果也易于分析。...... ......
-
2009-08-13
《程序员修炼之道》 第二章 注重实效的途径 - [新知随笔]
1. 重复的危害
软件系统中所使用的知识,是会不稳定变化的。比如市场环境的改变,政府决策的变化。
当知识变化的时候,软件系统的基础就出现了错误,这时就需要维护。
维护不应该只存在于软件的发布阶段,而是应该贯穿于开发过程的始终。...... ......






















