2012年4月27日 星期五

全域變數之我見

最近找了一題acm的題目打發時間(高手一天三題,我三天一題)
其中為了省下打字麻煩,把一個會 「重複使用」 , 「傳入遞迴」
的變數設定為全域變數,因此付出了80%的時間debug..........

很多初步接觸程式設計的人常常會為省麻煩,而把常用變數設為
全域,但這會造成管理上的問題。

個人心得:

1.  每個function都能存取與修改該變數,很容易在不知情的情形下
     誤改值,很難確認對其修改的權限歸屬

2.  盡可能改以區域變數,一來是方便追蹤範圍與可能出錯的區塊
     二來只要生命週期結束,便不會造成多餘的影響

3. 常數盡量以#define 處理

小地方多關心,bug遠離你....

2012年4月22日 星期日

python gui排版

最近嘗試用python寫gui程式
使用Tkinter時,同時用了pack與grid設計排版
結果程式整個跑不起來,後來才發現兩者不能同時共用

參考來源:
http://effbot.org/tkinterbook/grid.htm

2012年4月19日 星期四

Nikon S2600 get

由於家人需要,所以幫忙挑選入門級的數位相機
剛好燦坤週年慶特價就挑中它了,本來想要黑色的
但是庫存沒了只好換選銀色(打死都不想挑粉紅色)

之前都一直都是用手機在照相
藉此機會來學點攝影好了,看能不能培養個興趣

2012年4月17日 星期二

正規表示式配對標籤

最近在寫別人的作業時,要用到正規表示式抓取成對標籤內的文字內容

例如說:
<doc>段落一</doc> <doc> 段落二 </doc>
直覺的想法便是用 " <doc>.*</doc>"分別捕捉到段落一與二
 然而正規表示式具有 greedy 的特性
故實際配對為
<doc>段落一</doc> <doc> 段落二 </doc> 
如果想使用non greddy的正規表示式
需改寫為 "<doc>.*?</doc>" 
配對結果:
<doc>段落一</doc> <doc> 段落二 </doc> 
..........不過這樣寫能通,還是有點摸不著頭緒

參考資料
http://www.exampledepot.com/egs/java.util.regex/greedy.html

2012年4月16日 星期一

開始寫個部落格吧

第一篇文章
都已經大學要畢業了,一直以來在課業上
碰到過許多問題,所幸網路上有許多無私的人
分享他們的經驗。
我也想像他們一樣能回饋他人。

本部落格用來存放心情隨筆與碰到的技術問題
目前學藝不精 請見諒