Re: [請益] 朝什麼方向努力
※ 引述《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
02/15 00:01, 2F
推
02/15 00:44, , 3F
02/15 00:44, 3F
推
02/15 00:49, , 4F
02/15 00:49, 4F
→
02/15 00:49, , 5F
02/15 00:49, 5F
推
02/15 01:20, , 6F
02/15 01:20, 6F
沒有關係?可以靠OO改善這些缺點~為什麼沒有關係?
我想您應該沒看過那本書吧?
我舉的例其實都是上面有提到的...
→
02/15 04:20, , 7F
02/15 04:20, 7F
→
02/15 04:20, , 8F
02/15 04:20, 8F
→
02/15 04:21, , 9F
02/15 04:21, 9F
→
02/15 04:21, , 10F
02/15 04:21, 10F
→
02/15 04:21, , 11F
02/15 04:21, 11F
→
02/15 04:22, , 12F
02/15 04:22, 12F
→
02/15 04:22, , 13F
02/15 04:22, 13F
→
02/15 04:23, , 14F
02/15 04:23, 14F
沒錯~只能靠經驗來盡量減少OO過頭的可能性
※ 編輯: andymai 來自: 118.171.9.1 (02/15 06:52)
推
02/15 09:33, , 15F
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
討論串 (同標題文章)