[討論] coding成長的歷程分享(文長)

看板Soft_Job作者 (gibberish)時間11年前 (2013/01/19 15:01), 編輯推噓9(9018)
留言27則, 13人參與, 最新討論串1/1
我目前寫程式當工作的資歷約四年。 因為我是非本科系自己摸索, 所以整個過程算是非常艱辛。 運氣不錯還是有找到工作,到了公司看過強者風範, 才知道寫程式的境界真的是無遠佛屆。 似乎到了某種程度之後,就可以玩弄程式於股掌之間。 很好奇強者的內心對於程式的思考是否跟我一樣, 有點好奇各位高手的歷程,內心的感想是什麼? 所以拋磚引玉,也想看看自己還有什麼缺乏之處。 1.一開始三四個月自己買了本java開發的教科書, 把裡面的範例跟著實作了一遍,看到程式碼, 大概知道在敘述些什麼,基礎的 for / while loop, 宣告型別/繼承,可以知道程式在寫什麼, 但是說真的為什麼要這樣用卻不懂。 2.工作一年,trace code還是奇慢無比, 滿腦子只想要找別人寫好的進入點,然後直接call method。 根本還無力去從無到有建構一個程式, 就連宣告成員變數的時機都還搞不太懂。 遇到大型的專案,method跳來跳去常常就亂了手腳。 找範例來拷貝都還要try and error好久才搞定。 其實連很多的東西都還不能夠理解, 像是 interface,就不知道為什麼要 設計這個東西綁死自己,還有繼承,轉型, 什麼可以轉什麼不能轉... 記憶體配置,還有 static 的觀念, 都是似懂非懂,網路上找了中英文的文章 看了許多遍,還是不能確切明瞭使用的時機。 這個狀況在工作一到兩年多都還是這樣渾渾噩噩, 一直懷疑是不是自己程度的問題,還是少了 本科系的四年真的差那麼多嗎? 3.三年多之後,所幸在公司裡頭很多好同事, 這期間有所不懂之處也都很樂意教導分享, 給我很大的空間慢慢去理解。 在真正的實作了更多之後,終於瞭解了 很多書上難以一言以蔽之的東西, 理解寫程式,有名師帶領真的會輕鬆很多, 我也慢慢釐清一些自己看書然後理解錯誤的觀念。 這時候信心慢慢增強,寫程式的時候抓了範例, 也較有能力去修改範例成為更符合自己需求的類別。 跟高手談論起來比較沒有"老是狀況外"的感覺了, 該會的基礎都已經算熟,也都有遇到過, 總覺得這時候才敢說自己是一個程式設計師。 才有能力去思考怎麼樣設計可以 讓程式跑起來更少錯誤,或者擴充性更佳。 4.直到現在,基本的寫一個程式已難不倒我, 面對客戶開出的需求不會像過去一樣不知所措, 大部分都可以達到規劃書上的要求。 但是我知道現在要我設計一個大型的程式, 還是沒有能力宏觀的去做這件事情, 不知道各位都花了多久的時間,怎麼樣去 精進自己在設計程式架構上的能力? 期待各位的分享! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.171.110.189 ※ 編輯: abysmal 來自: 1.171.110.189 (01/19 15:02)

01/19 15:04, , 1F
有看過"深入淺出-設計模式"?要設計大型程式除了要有技術方
01/19 15:04, 1F

01/19 15:06, , 2F
面的經驗~也要有領域知識和經驗~而且通常還有磨合期~不會
01/19 15:06, 2F

01/19 15:07, , 3F
是寫出來就完全不用改~除非那需求就這樣了...
01/19 15:07, 3F

01/19 15:10, , 4F
不曉得您是否已經知道~但我還是想提XD 介面就像你在大街上
01/19 15:10, 4F

01/19 15:12, , 5F
喊了"帥哥"兩個字一樣~大家都聽到了~回不回頭是他的事XD
01/19 15:12, 5F

01/19 15:14, , 6F
哈,真是有趣的比喻,學程式還是要帶一點趣味去思考吧
01/19 15:14, 6F

01/19 15:18, , 7F
ID太像,我以為在自問自答...
01/19 15:18, 7F

01/19 15:29, , 8F
通常都是被user玩弄於股掌之間比較多...X
01/19 15:29, 8F

01/19 16:32, , 9F
其實介面的精神不是帥哥說這樣喔,小弟愚見
01/19 16:32, 9F

01/19 17:03, , 10F
我認為介面比較像是物件的操作及使用規範,小弟愚見
01/19 17:03, 10F

01/19 18:41, , 11F
帥鍋~~~
01/19 18:41, 11F

01/19 18:41, , 12F
介面在你的程式不是只有你一個人寫的時候就發揮效用了
01/19 18:41, 12F

01/19 20:08, , 13F
SE7的介面我也覺得綁手綁腳 SE8好像能直接在介面中寫方法
01/19 20:08, 13F

01/19 20:12, , 14F
不是帥哥說?大街上每個人都是物件~如果每個人都實作了"聽
01/19 20:12, 14F

01/19 20:13, , 15F
到帥哥"這個介面~就不用管那個人是誰~聽到的人就會自行實
01/19 20:13, 15F

01/19 20:14, , 16F
作~甚至這個介面再定義廣泛一點~連小狗、小貓聽到都會實做
01/19 20:14, 16F

01/19 20:22, , 17F
介面不就是為了不要依賴?就像PCI-E顯卡一樣~只要做了PCI-E
01/19 20:22, 17F

01/19 20:23, , 18F
介面~不管哪家廠牌生產的都可以插上去用...
01/19 20:23, 18F

01/19 20:34, , 19F
我覺得看SA/SD的書就好了 DP有些沒實際去做講得很抽象
01/19 20:34, 19F

01/19 22:41, , 20F
介面是一系列抽象方法的集合,是ADT的基礎
01/19 22:41, 20F

01/20 00:50, , 21F
找個做大系統的 PG 的工作進去邊做邊學比較快
01/20 00:50, 21F

01/22 01:23, , 22F
想問非本科系是什麼科系?
01/22 01:23, 22F

01/26 15:10, , 23F
真好,有這麼久的容忍期
01/26 15:10, 23F

01/26 15:15, , 24F
我也是非本科(文組),現在進某公司一個月實作中,比別人稍
01/26 15:15, 24F

01/26 15:15, , 25F
晚(其實也沒差多少),就被約談了。但我一開始連架構都一知
01/26 15:15, 25F

01/26 15:15, , 26F
半解,進度能拼到差不多就了不起了
01/26 15:15, 26F

01/26 15:16, , 27F
其實迄今我也才碰java半年罷了...
01/26 15:16, 27F
文章代碼(AID): #1G-aJHHs (Soft_Job)