browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

借花献佛之hottey的代码评论

Posted by on 2007 年 01 月 22 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

1月17日打发网友在我的数据库课程设计源代码中发表评论,希望我能挑一挑我自己代码中的毛病。术业有专攻,身为C/C++程序员的我费了九牛二虎之力说了几句空话敷衍了事。今天见到hottey,便邀之以为评论。hottey之论甚为精彩,于是李马添油加了一番醋,一并发在blog里与大家共享,权当借花献佛哉。以下文字中青色字体为hottey原文,蓝色字体为李马批注。

> 1.就代码查读性而言:在网上找一篇"Delphi编码规范"的文章应该对你很有帮助的.

其实编码规范是被相当一部分程序员忽视的编程基础,而这里边有很大一部分比重来自于象牙塔。这里捎带手批判一下学术界某些人存在的不良倾向:你写的代码大家都看不懂的话不代表你牛叉水平高,那叫傻叉。

> 2.楼主的代码的确存在异常处理和资源安全释放的欠缺(当然楼猪不是搞D的人了).实际上现在很多大的商业程序都有自己的异常处理流程的.最起码有一个专门的异常处理模块.这个是很重要的.当然异常不仅只是简单的”try except end;”简单的这样子了.资源,如指针的安全释放对大型的应用程序来说尤为重要.如:在分包(BPL)开发中,有时仅是为了找到一个指针访问的错误就得花去你大半天的时间.因此良好的编码习惯是很重要的.

汗一下自己。编码这些年从来没有试过异常处理,因为自己总试图从流程逻辑的层面去避免异常,而且迄今为止做得似乎很成功,所以更加助长了这种病态心理。

> 总的来说:楼主的代码对初入Delphi开发的兄弟们来说是有一定借鉴意义的.但是多问问自己"在Delphi爽死你的拖拉神奇之门后面掩盖了什么?".不要仅仅局限于控件的拖拉之上,学着看看VCL的源码,其实Delphi的工程师们是想让你站"巨人"的肩膀上可以看得更远,但如果你看不到这个"巨人",还以为自己是"脚踏实地"的.那么只能说是你的悲哀.Delphi VCL库给我们揭示了一切可以揭示的真象,可以这么说:所有的VCL组件你都可以找到最原始的访问Windows API的代码.建议兄弟们可以从 TObject -> TComponent -> TControl -> TWinControl这条线来解读一下VCL的源代码.了解一下"巨人"的思维,也许你就能成为别人眼中的"巨人"也说不定!哈哈~

同意,每一个Framework都有其独到精妙之处。一个Control User称不上是合格的程序员。你所做的大部分工作都是代码之外的,而且UE工程师会比你做得更好。

> 举个例子:

> ShowMessage(‘知道我是怎么来的吗?’);

> 以前偶也以为这个消息框就是"老祖宗"们传下来的,没有什么为什么.就和Windows API里的MessageBox一样.但是当我查看Dialogs.pas的代码时,才发现,就连一个小小的对话框单元都是有很多你需要好好学习的地方.当然ADO.Connect;这样的东西,你就更要知道个为什么了.

> 学习编程就是要学习"编程的思想";当老板突然让你与"{}"时,你突然发现刚打了一个"{"就只能想到把控件往里面拉.这样子就不好了.

> 一点建议:其实不用被外界的那些所谓高手所误导.像什么"钩子技术","进程间通信","线程同步"的东东都是你看一两本书就会明白的东东.(<参透Delphi>,<Delphi5开发人员指南>);多关注一下社会上的主流开发技术,主要平台.毕竟以后大家都是要生存的.有条件有爱好的话还是搞搞Unix下的C++吧.搞JAVA也是满好的.学习BEA中间件也好.呵呵~毕竟现在用D的人不多了.Borland公司的IDE部门都还不知道路在何方呢?其实蛮可惜的...

仅有一点不能苟同。线程同步靠一两本书是远远不能理解的,需要经历长期痛苦的实践。

> PS:我是一个小小…兵,以上纯属我个人的闲扯蛋(^_^)

士别三日当刮目相看,我觉得我跟这厮比起来落后太多了,当自警并努力。

订阅本站

7 Comments

  • At 2007.01.22 15:43, hottey said:

    狂汗!!!大马太过歉了.

    有一句话叫什么来着:"Good Good Study! Day Day Up!"

    • At 2007.01.22 15:54, z said:

      没抡着sofa!

      • At 2007.01.22 20:04, x-man said:

        没轮着chair

        • At 2007.01.25 02:20, cocolimin said:

          连板凳都没有了……

          • At 2007.01.26 21:08, 战雨灾 said:

            感觉在个人网站里受益更多。。。

            • At 2007.01.29 10:57, fenqing said:

              niu ren

              • At 2008.07.17 00:19, 香儿如梦 said:

                两位现在我眼中的强人真的在说一些重要的见解和心得,宝贵的文字资料,善之存之,努力向上.

                (Required)
                (Required, will not be published)