Morning@Weblog

6/16/2005

成为编程高手的八大奥秘(转)

Filed under: — site admin @ 11:17 am

from http://spaces.msn.com/members/optimizer/feed.rss

扎实的基础 丰富的想像力 最简单的是最好的 不钻牛角尖 对答案的渴求 多与别人交流 良好的编程风格 韧性和毅力
  
1、扎实的基础
  数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。因此多读一些计算机基础理论方面的书籍是非常有必要的。

2、丰富的想像力

  不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想像力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。开阔的思维对程序员来说很重要。

3、最简单的是最好的

  这也许是所有科学都遵循的一条准则,复杂的质能转换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。

4、不钻牛角尖

  当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。

5、对答案的渴求

  人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。

6、多与别人交流

  三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。

7、良好的编程风格

  注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。

8、韧性和毅力

  这也许是"高手"和一般程序员最大的区别。高手们并不是天才,他们是在无数个日日夜夜中磨炼出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。

5/27/2005

基于JavaScript的Web组件化——从一个按钮开始

Filed under: — site admin @ 9:59 am

以前系统的JSP页面中,有很多地方都要出现图片式按钮,该按钮实际上是一个table。

<table border="0″ cellspacing="0″ cellpadding="0″>
 <tr>
  <td><img src="images/left_btn.gif” width="6″ height="25″></td>
  <td nowrap background="images/mid_btn.gif” class="btntext”
    onmouseover="this.className=’btntexthighlight’;”
    onmouseout="this.className=’btntext’;">
   <a href="doSomething.do">提交</a>
  </td>
  <td><img src="images/right_btn.gif” width="6″ height="25″></td>
 </tr>
</table>

每当我们需要按钮的时候,都要引用这样一段冗长的html代码。实际上,如果将之封装成一个Web按钮组件,然后在需要的时候调用并传入必要的参数,可以省去相当的重复劳动,并且也不易出错。

采用JavaScript技术,基本的思路是,我们先在原来的JSP页面中按钮出现的地方定义一些placeholder,然后传入必要的参数,比如:

<div id="button” name="添 加” action="javascript:document.addItemForm.submit();"/>

在一个公共的js文件中,利用JavaScritp将这些placeholder替换成真正的html输出。

function replaceDivTag() {
 aTags=document.getElementsByTagName("DIV");
 for(var i=0;i<aTags.length;i++)
  with(aTags[i]){
   if(id=="button") {
    // replace the div with table
    aTags[i].innerHTML=’<table border=0 cellspacing=0 cellpadding=0>…’
   }
  }
}

接下来的问题是,如何让该函数得到调用。我们可以将其作为onload事件的处理函数,这样,在每次页面加载时,id为"button"的div都将被预先置换为正确的html输出。如此,一个JSP页面看起来要比以前清爽了许多。你所做的全部事情是:
1) 引入公共的js文件
2) 在按钮所在位置定义div,并给出正确的参数

Powered by WordPress