Re: [請益] 朝什麼方向努力

看板Soft_Job作者 (人生只有一次)時間12年前 (2012/02/14 23:34), 編輯推噓6(6010)
留言16則, 6人參與, 最新討論串2/2 (看更多)
※ 引述《sukrider (sukrider)》之銘言: : 各位好,我目前是國立科大資工大四 : 已經確定有研究所唸,接下來研究所兩年時間 : 除了畢業以外也想把自己的程式能力練起來 : 目前會用的語言有C,Java,PHP,JavaScript,HTML : C只有做學校作業的程度而已,個人比較喜歡能看到具體東西的程式 : 所以比較喜歡用高階一點的語言,能看到東西(視窗)或是網頁程式 : PHP,JavaScript,HTML是專題時用來寫網站學的 : 程度大概就...可以Google找別人的範例拼湊出結果 : 然後用Apache+MySQL自己寫了一個類似Discuz論壇的東西 : 發文、編輯、刪除、帳密登入之類的 : Java是我會的語言中最熟的(我想也只是新手程度而已) : 有自己寫了一些無聊的小工具,像是抓別人網站上的資料 : 然後整理成Excel檔存在我自己電腦裡,時間久了發現Excel越來越多 : 又寫了一個從眾多Excel中搜尋我想找的資料的小工具 : 最長的程式大概1萬行左右 : OO有在用,但是不清楚怎樣才算比較好,很多時候不OO程式寫的比較快... : 不OO當然寫得比較快~很直覺嘛 可是既然直覺式的寫法寫起來那麼快 那幹嘛一堆人一直在OO~OO個不停咧? 最簡單的理由就是直覺式的寫法通常會和一堆東西"綁"在一起 也就是沒有彈性 如果要加功能或維護的話~要改幾個地方?會不會又和其它程式扯在一塊 搞到最後全部都要跟著"update"? 邏輯呢?會不會有同樣的邏輯判斷拿著到處貼?然後改的時候要一個個改? 等到下次有新的東西要加進來~又再貼一次~又增加一個要維護的地方? 拿現實世界的東西來說~直覺式搞出來的"電腦"(程式) 主機板、ram、cpu、顯示卡...等等~可能通通都混在一起 哪天要改其中某個零件的某個功能~找半天就算了 還牽扯到其它的零件~可能搞到最後~通通都要"升級" 你的顯示卡介面搞出來的是你自己的規格~所以你只能賣自家人 人家的顯示卡都做成PCI-E介面 不管各家廠牌都有機會插上去用 你的彈性很明顯輸人家一大截... 所以要抽象化、所以要OO 剛開始可能很不直覺~但是等到熟悉之後~不OO反而覺得不好用 可以想一下日常生活的人、事、物跟OO有什麼關係... 當然...凡事都要適可而止~要小心不要OO過頭了 更多好處、範例和該注意的地方~請翻閱"深入淺出設計模式" (其實我很好奇~資工的沒翻過這本書?) : 還有像是資料結構中教了很多東西,但是我寫過的程式範圍 : 頂多用到ArrayList,HashMap,其餘好像都沒什麼需要用到(ex:Tree類) : 多數都靠Loop跟if else之類就能解了 : 不知到了業界是否整本資結課程的東西都會常使用到? 這要看什麼工作~和使用程度~沒有標準答案 但是越了解就越可能有幫助... : 本文主要想問的事情是,我想走高階的話(不朝C,Assembly發展) : 應該繼續熟練Java嗎? 還是要學一下C#? : 同學說.NET系列越來越夯,也不知道是不是真的... : 網站的部分PHP的東西畢竟比較過時了,該學習ASP.NET的東西嗎? 不考慮JSP? : 看板上好像比較不推網頁工程師,台灣又是硬體公司偏多 不推網頁的原因大概是因為沒有一定程度的話~薪水高不起來 尤其又有一堆人老是覺得寫網頁很簡單... : 以後就業的話不知道寫高階語言有哪些工作出路呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.9.1 ※ 編輯: andymai 來自: 118.171.9.1 (02/14 23:38)

02/14 23:41, , 1F
請問.... 要做出怎麼樣的作品才算有一定的程度? = =
02/14 23:41, 1F
這個答案應該讓出得起你心目中薪水的老闆來說明~各家看法不一... ※ 編輯: andymai 來自: 118.171.9.1 (02/14 23:45)

02/15 00:01, , 2F
腦袋裡只放著OO,那O過頭也只是早晚的事而已...
02/15 00:01, 2F

02/15 00:44, , 3F
等到OO過頭了就知道OO不是仙丹
02/15 00:44, 3F

02/15 00:49, , 4F
每次只要有人討論到OO就會有OO過頭的看法!
02/15 00:49, 4F

02/15 00:49, , 5F
但請問大家怎麼判斷是過頭了的呢?
02/15 00:49, 5F

02/15 01:20, , 6F
你講的缺點跟OO根本沒什麼關係... ~_~
02/15 01:20, 6F
沒有關係?可以靠OO改善這些缺點~為什麼沒有關係? 我想您應該沒看過那本書吧? 我舉的例其實都是上面有提到的...

02/15 04:20, , 7F
基本上所謂 OO 過頭就是接手的人覺得很難寫,然後東西又有拆
02/15 04:20, 7F

02/15 04:20, , 8F
物件他就會抱怨OO過頭了。code 本身並沒有客觀指標定義是否
02/15 04:20, 8F

02/15 04:21, , 9F
OO 過頭。OO 過頭是人的評價,而且同一份code可能每個人會
02/15 04:21, 9F

02/15 04:21, , 10F
有不同評價。
02/15 04:21, 10F

02/15 04:21, , 11F
也有一種狀況是作得時候不覺得是overkill ,做完發現功能用不
02/15 04:21, 11F

02/15 04:22, , 12F
到又變成一個 OO 過頭。總之從失誤跟災難中中記取教訓吧
02/15 04:22, 12F

02/15 04:22, , 13F
沒碰過自己覺得 OO 過頭的狀況的話,很難體會什麼是OO過頭,
02/15 04:22, 13F

02/15 04:23, , 14F
也很難避免各種形式的OO過頭。那都是踩雷留下的痛覺記憶啊。
02/15 04:23, 14F
沒錯~只能靠經驗來盡量減少OO過頭的可能性 ※ 編輯: andymai 來自: 118.171.9.1 (02/15 06:52)

02/15 09:33, , 15F
請問有OO頭的例子嗎?
02/15 09:33, 15F
為了不必要的彈性,而設計出不必要的抽象化,逼得要實做無意義的東西 就是OO過了頭 其實書上就有一堆例子,什麼時候該遵守哪些守則,什麼時候不用遵守 有很多要考慮的因素 聽起來很像是在打高空,但是個人認為只要你設計出來的架構 能夠說得出來為什麼這麼做,那就夠了 那要不要說服別人來取得共識呢?這...就再看看吧 因為討論這個的時候,如果兩人的主觀意識都很重 會非常容易吵架XD 如果不是為了彈性和維護性,寫了以後很少改 其實大可不必要OO,直覺式的從頭寫到尾就算了 ※ 編輯: andymai 來自: 122.117.152.17 (02/15 12:54)

02/15 13:14, , 16F
瞭解了 感謝
02/15 13:14, 16F
文章代碼(AID): #1FEdxejC (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1FEdxejC (Soft_Job)