2007年4月19日星期四

程序员的七种武器

七种程序员的基本技能,它们是:  
1. 数组、字符串与哈希表
2. 正则表达式
3. 调试
4. 两门语言
5. 一个开发环境
6. SQL语言
7. 编写软件的思想
数组、字符串与哈希表
任何受过专业训练的程序员,对“数据结构”这门课程中涉及到的各种数据结构都不会陌生,但是在实际的编程工作中,大部分的数据结构都不会用到,而且也永远都不会用到。虽然如此,深入地理解基本数据结构的概念和实现细节,仍然是每个程序员的任务。这不仅仅是因为,掌握这些知识将有利于更加正确和灵活地应用它们,而且也是因为,对于语言背后的实现细节的求知欲是一个优秀程序员的素质。
正则表达式
在程序员日常工作中,数据处理占据了相当的比重。而所有的数据之中文本又占据了相当的比重。文本能够被人理解、具有良好的透明性,利于系统开发、测试和维护等就必需要有一定规律遵循一种规则,当你掌握一门正则表达式语言,就能够培养你编程的直觉本能,达到较高水平,也能够在实践中提供更高的开发和执行效率。
调试
软件调试是软件工程的一个重要部分,其过程出现在软件工程的各个阶段,从最初的可行性分析、原型验证、到开发和测试阶段、再到发布后的维护与支持,都有软件调试过程参与。学习和灵活运用软件调试技术,不仅可以提高程序员工作效率,而且有利于对代码的感知力和控制力,加深对软件和系统的理解。此外,调试技术是解决各种软件难题的一种有效武器,它直击要害、锐不可挡,相对其它间接方法具有明显的优势。软件有大美,调试见真功!
两门语言
任何一位职业化的软件技术人员都会将编程语言当成自己的利器。它们代表了开发人员对计算机本身的理解与对软件开发工作的执著。同时,建立在编程语言之上的基础也标志着程序员的职业化道路发展到了一个新的阶段,而单一语言又有一定的局限性,软件开发的本质就是处理信息以及数据。一种专门用来处理数据的脚本语言常常是走向更加职业化的必备武器之一。所以精通两种语言,对于任何一个开发人员来说,并非必须,但是对于一个专业化程度较高的开发人员来说,又常常是必要的。
一个开发环境
随着技术的进步,IDE已经越来越强大,远远超出我们心目中的最初形象,越来越多的内容被涵盖到IDE中,从需求分析、业务建摸大批软件发布,IDE已经逐渐覆盖了软件开发的整个生命周期。
SQL语言
说起SQL,绝大多数程序员对其作用都了然于胸--用来访问数据库嘛。确实,数据是信息系统的核心,没有数据的计算机应用没有任何意义。信息系统中,大量数据本质上就以实体--关系的模式存在,而RDBMS支持SQL这么简单但表达能力丰富的访问接口,同时还提供了内建的事务ACID特性保证和故障恢复能力--因此,RDBMS理所当然地成为了大部分信息系统的标准数据存储介质。于是,无论使用何种语言开发信息系统,从C、C++,Delphi到Java,从Perl、Python到Ruby,使用SQL访问RDBMS都是我们必须修炼的武功秘籍。
编写软件的思想
说起程序员的武器自然少不了技术书籍,它们就像是拳谱、剑经、虽然不能马上转化为巨大的伤害输出,但假以时日勤以研读,有朝一日成为傍身绝学也是说不定。不过虽然各类技术书籍汗牛充栋,除去入门时浅显易用的参考和复杂深奥的学术专著,能够让所有程序员常看常新的心法秘籍还是不多。

2007年4月13日星期五

面向对象的三大特点(封装,继承,多态)(转)


面向对象的三大特点(封装,继承,多态)
1.封装的意思是说对象数据和操作该数据的指令都是对象自身的一部分,封装能够实现尽可能对外部世界隐藏数据。譬如,当你在某个模块中定义某个变量、常量、函数前声明了关键字Private,你就将它封装了起来,降低了它被外界污染的可能.

2.继承的思想是当你定义了一个对象后,你可以扩展该对象,创建一些新的对象。譬如你定义了一个基类Human,其中的属性有Stature、Weight、Age、Gender等。假如你此时又要定义另一个类Student并且发现这个类除了具有以上Human基类的所有属性之外还具有一些自己特有的属性例如School、Grade、Class、StudentID等等,这时你就不必重写它的全部属性,只需声明Student类继承于Human类就可以了,在VB.NET中用Inherits关键字声明。继承提高了我们编写代码的效率.

3.多态性是指以不同的方式、不同的类来实现一个公共接口的能力。譬如说,你定义了BladeMaster(剑圣)、DeathKnight(死亡骑士)、DaemonHunter(恶魔猎手)、Archmage(大法师)这四个类并且分别创建了它们的实例,此时你向每个实例都发送一条UseUltimateSkill(使用终极技能)这个消息,这四个实例将完成不同的事情,BladeMaster将施展剑刃风暴,DeathKnight将召唤周围的死尸,DaemonHunter将变身,而Archmage将实现部队的瞬间移动。每个类都可以以不同的方式对一条特定的消息作出反应,这就是多态性的精髓!

2007年4月3日星期二

我复活了!

今天是我的复活节,终于想起密码,终于又站在这里了!
那就在这里落户了!
想把这里弄的象技术交流区!
大家一起努力哦!

2007年3月12日星期一

来了!google

google很牛,所以我来了,为的是让我也可以站在巨人的肩膀上!
听说高处风大,那刚好!可以放风筝!