'RegExp' 搜索網誌文章共有 1
Category : ASP & ASP.net
Reg Date : 2008/10/09 19:00
一開始寫 ASP 程式的時候, 老闆要我寫一支可以清除 HTML code 的程式...
那時候很笨...技巧也很差...所以就寫出了一個像是這樣的 "東西"...

第一代

看了這段程式, 就可以知道有多笨了吧。最可怕的地方是這個的迴圈執行次數是隨字串的長度來增加的。以一篇 500 字的文章來說好了。加上 HTML code 後, 長度變成 1000 很正常。有些用戶還直接貼 word 檔。可能變成 2000 個字元。而列表頁的需求是一頁顯示 10 筆資料。所以平均每頁要跑 10000 ~ 20000 左右的迴圈。網頁的效率有多差, 可想而知。想像一個頁面要開 1~2 分鐘, 有多少人會等...

終於, 連我自己都看不下去了。所以大約半年後, 新學了一個 instr 就現學現用, 寫出了比較像樣的程式。

第二代

第二代的效率就好很多了, 一樣是用迴圈做, 不過迴圈執行的次數取決在 HTML tag 的數量。一樣以 500 字的文章來說, 就算從 word 貼過來, 也不會超 100 個 tag 吧, 一頁 10 筆迴圈執行次數只要 200~800 次就完成了。整體執行效率提升了至少 15 倍。一個網頁開 60 秒跟開 4 秒的差別。成績算是很不錯了吧。後來又過了一年吧, 發現其實還有更好的方法。於是寫出了...

第三代

第三代有二個重點,
1. 重覆使用: 寫成 function 了, 可重覆使用
2. 效率更高


有人說寫程式是一種藝術, 我覺得這樣說有點 "太超過"。不過, 肯定是一門需要不斷學習鑽研的專業技術。這篇看起來應該可以算是一個程式設計的笑話吧。希望有一天我可以變成正面的教材...哈。

  , , ,
 0   1