您的位置:首页 > 其它

软件开发技术学习的经验

2008-01-13 18:20 375 查看
如果要学习或应用新技术或框架或API。你如何下手?

1.知道这是什么 (What/Why)

假设你要学习JSF,并只知道它是一个Web Framework,会如何开始?
一般的回答是:在 www.googlecom 或 BaiDu 中以 JSF 作关键字找相关资料。情况可能是你找到了:

官方资料:SUN Micro公司的JSF技术主页:http://java.sun.com/javaee/javaserverfaces/ 甚至 JCP 的网站

中文的文章或BLOG

英文的文章或BLOG

eBook

(一般,对于外国的技术,Goolge会将官方网站排到第一位。主要的,也是英文的资料)

如果你是一个喜欢即学即用,不关心技术理论与规范的人,当然首先网上的文章或BLOG,一步步地跟着做 Hello World ,这里我不详述了。但如果你要将JSF应用于严紧的项目,那可以先看看官方的网站,找到(What is JSF / JSF Overview) 等文档。再看看非官方的,易入门的技术介绍文章。这可以让你对JSF有个了解,它能为你做什么,不能做什么,什么时候应该用,什么时候不应该用。新的技术,不一定就是最合适你项目的技术!

2.看Hello World 或 Sample (How)

不用多讲了,下载相关的类库(Class Library/Jar),找到一步一步教路的 Hello World 文章,跟着做,出现文章中没有提到的小问题,找到解决方法,千辛万苦后,Hello World总算可以运行了。兴奋一阵子后,再细看Hello World的实现方法。这是个无趣但一定要经过的过程。然后呢?

3.找书看

如果你面对的技术复杂,你又认为自己跟我一样不是一个天才,最好还是找个“导师”比较好。选一本好书,可以节省许多学习时间。因我大二前曾深受劣书之害:
当时我在学习C++,以VC为开发平台。我没有钱到书店购书,就一天到晚跑图书馆。什么"精通VC"、"百例学VC"、“VC教程”……一个个操作界面截图,一步步地教你如何做到书中的例子。但当中却没有讲到为什么要这样做,如果不这样做或不完全这样做或出现例外时如何处理。你不应该只停留于一步步地跟例子输程序,更应该了解例子的原理。或许这是我们从小教育模式的问题了,这里就不多说了。

其实,作为一个好的导师,除了教你如何用VC,更应该告诉你什么是VC,如何去学VC。他最少也要告诉你:

这是什么,它适合做什么,不适合做什么,其它的选择(What is it) : VC 只是一个开发平台,包括 IDE、C/C++ 编译器、C/C++ Std Library、Windows SDK 等,C++开发环境除VC外还有其它的。 它适合做Windows平台下的比较底层的系统级应用的开发。
C++本身不适合做信息化系统开发。用 VC 中的 MFC 库开发的软件一般不适合移植到其它非 Microsoft 平台(如 Linxu/Untix)。
除了 VC,你还可以选择 GCC 等。

如何到找参考资料
授人以鱼,不如授人以渔。导师,更应该明白这道理。我有过这样的“惨痛”经历:
有两年时间,我直在练打字学 VC。为是什么说练打字。因我要把书中的例子输入到电脑中,但书中基本不会写,为什么要这样做。为什么要调用这个函数。每见到一个新的函数。我都用纸记下来它的参数与功能。直到后来,我发现有 “MSDN”API参考光盘,眼界才开宽了。
一般来讲,在网络时代,除了API参考文档,我们也要到官方网站,网上人气旺的网站,去学习与参考。学 VC 的人,如果不去 MSDN,可能要比别人多用几倍时间。

但,在工作中,我时常看到 Java 程序员电脑中居然可以没 Java API 文档。他也从来不去看在线的 API 文档。通常,这样的人要么是记忆力极好的高手,要么是不求甚解的程序员。通常,后者根本不去调用一个 Java 方法(method)前从不看文档……但通常,这样的人写程序比较快,BOSS比较看重。让我们在现实与理想间找到平衡点吧 : )

实现细节
OOP、框架,函数库(Library),等已经深入人心的今天。“细节”我们有很多的理由不再去理会。用 C/C++ 的人不了解 编译(compile) 与 链接(link) 的原理。用 Java的人不了解 ClassLoader 的原理。有没有需要了解工具下层的实现细节?我觉得在于你是用工具来干什么,与使用工具的频率。例如,如果要长期用 Java 作开发,而且要自己直接面对不同的环境与平台(如JBOSS,Spring,Seam),且不是有其它人为你操心这些,那么,你有必要了解 Class Loader 是怎么样加载 Class 的。对于C/C++,我很难想像一个不了解其编译与链接基理的人会写出严谨的程序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐