Friday, February 27, 2009

爭論點

那天跟公司的研發主管報告專案的程式部份,對我來說要跟別人解釋自己的程式重點我會放在架構,因此我把大多數的時間放在我怎樣使用共用的介面函數指標建立共用的物件(C語言),中間我提到一個東西被轟整場的,我說到~『我的callback function的prototype定義為.....』。

後來這些老大們開始活絡起來(本來好像快睡著的樣子),他們突然開始說『callback function的定義是一定要有signal的事件引發一個function才能叫做callback function』,或許我才疏學淺吧,我怎麼印象中只要使用function pointer指到一特定的函數位置,讓某一機制的程式碼去呼叫這些函數就稱為callback,我印象中跟signal好像沒有直接關係。

不過呢~~爭論一下下我就發現糟糕,因為其實這並不是重點,重點是這是主管要下『指導棋』的時候,所以其實我應該是要說『恩,原來我沒有注意到這麼深的學問』(ㄟ~~吐好看一點啦)。但我覺得很怪的是針對一個程式專案要討論或研究,架構才是重點,但老是把事情放在這種雞毛蒜皮的事情上面,難怪我很討厭開會~~ㄏㄏ。

其實這也是我覺得我們的開發流程有問題的地方,我們一直把焦點放在GUI library上面,也就是大家都在討論~~~哪一個widget可以用、有沒有辦法用更簡單的方式把GUI拉好、顏色怎麼改.....等等,當然我不是說這不重要,只是這些東西在這些GUI論壇或甚至是google一下都可以有解答,但一個程式絕對不是有GUI就完成。(只要GUI不完成任何事的程式不就是示範程式嗎~~ㄏㄏ)

這也讓我想到常常會有人問~~『你對某某library熟不熟』,我常常都不知道怎麼回答,我很少『熟悉』一個library,所以我寫程式一定要有網路,因為我要一直查API的網頁~~ㄏㄏ,但是我發現他們好強歐,用背的耶~~我的天呀。我對SQLite熟不熟~~『恩,我有使用SQL關聯式資料庫的概念,SQLite我知道他是用檔案式的小型資料庫』,這樣的回答基本上我的同事與長官們是會把我當異類的~~ㄏㄏ。

哪些library有哪些API~~我沒有半個熟的,要用的時候我會上網查或甚至把include file打開搜尋一下也可以有個概念,但~~~不論開會的目的是啥,我想應該最終都是要解決問題,因此爭論點是否可以放在『我覺得這樣的架構有....的缺點』、『如果....設計是不是更好』,至於其他展現熟悉度與高深學問的爭議~~我就免了,畢竟~~我本來就不是高材生呀~~ㄏㄏ。

1 comment:

Anonymous said...

callback function 是一種程式設計模式 (design paradigm),至於如何實做,完全是 programmer 的自由。