精華區beta Programming 關於我們 聯絡資訊
※ 引述《sealoe@kkcity.com.tw》之銘言: > 我想看point痛苦的原因 > 只是個人不習慣吧 > 就像有人覺得用循序程式語言(C,C++,basic等)寫程式很困難 > 用funcational language寫東西才是王道 > 但是一般人不一定會有同感 > 個人喜好罷了 > 我也覺得用C++寫程式搞OO根本是浪費時間 > 因為我不習慣 > 就像你覺得不用OO是自討苦吃ㄧ樣 用 C++ 寫 OO 其實可以節省很多時間, 因為 C++ 還有 template 這種程式產生器, 讓 C++ 的 OO 不管是寫起來或是看起來都很精簡, 但是有個前提就是要花很長的時間 study, 不過這個 study 是苦一次就能受用終身。 使用 OO 有一個很重要的原因就是責任轉嫁, 它可以將原本必須在某處集中處理的寫法變成分散處理 (問題本身還是必須集中處理,但是 OO 機制在背後會幫你做一些事情), 集中處理的最大缺點就是每次增加新東西, 就要跑去找到那個集中處理的點來修改程式碼, 分散處理的好處,是要求增加新東西的人多寫一些程式碼, 而集中處理的部分就交給 compiler 產生, compiler 不會像人一樣有疏失,所以可以很安心。 當然,如果整個程式是你一人維護的, 這兩種方法的差距可能小到讓你看不見, 但是如果是 teamwork,選用前者會帶給大家很多麻煩, 集中處理的另一個缺點, 就是必有一塊程式碼是人人可改(講難聽一點就叫公車,人人可上), 有時候甚至會發生一個人改到另一個人寫的東西, 結果在做 cvs/svn commit 的時候發生 conflict, 然後導致 team 的成員之間互相強姦對方程式碼的現象發生, 這又是更實際面上會碰到的問題... 雖然 OO 這種東西並非純粹為 teamwork 而生, 但是對我而言它的意義純粹是為了 teamwork, 如果你寫的程式是將來打算 open source 給大家改的, 或是這個 project 本身就是要 teamwork, 那麼我會建議使用 OO 來設計。 -- Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net School: National Chung Cheng University Department: Computer Science and Information Engineering Researching: Porting GCC and Implementing VLIW instruction scheduler in GCC Homepage: https://it.muds.net/~uranus -- ╔═══╗ ┼────────────────────────╮ 狂狷 Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮ 年少 ┼╮ < IP:140.119.164.16 > ╰─╮ ╚╦═╦╝ From:218-171-138-13.dynamic.hinet.net ─╨─╨─ KGBBS 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩