公司最近面試了幾個新人下星期要進來,才突然驚覺,已經當了二年工程師了,想起二年前我還只是個只會用java的陣列寫遊戲的剛退伍夜校大學生= =" 二年過去真快,寫過10幾個專案,20幾個server,有大有小,有難有簡單。 在這篇就分享一下第二年的心得吧,也列幾點可以提升自己coding能力的方法。 1.拿自己比較會的程式來翻寫別的語法程式,把別的程式拿來改成java,這是基本要求吧,而且我發現這樣可以讓自己了解別人在寫什麼,為什麼這樣寫。例如:我會java,我看到了別人寫了一個method或演算法是c或php程式,而你可以把他整段翻成java執行結果也一樣。 2.多想些小題目來寫,但看到題目不要先急著寫,先想過一次可以有幾種寫法,各有什麼好處。例如:多去javaworld論壇或知識+看看有什麼題目,不需要去回答,若是你自己覺得寫的很棒,你也可以貼出來讓大家比較或批評,這樣自己才知道有哪些可以改進的地方。 3.當你寫的是比較大的專案,這時並不是要去考慮各個method裡的邏輯要怎麼實作,而是先把你整個大系統要拆成幾個功能,整個架構要怎麼劃分,流程如何跑,所有的功能可以先定義成一個類別名稱,或者是一個method名稱,這樣是加速你確定整個系統大流程是對的,而不會導致你邊寫邊想,寫好3分之2才發現,後面寫不下去因為流程有錯,架構有錯。 4.培養自己debug的直覺性與解決問題的能力,我在知識+發現有很多人對於程式所拋出來的錯誤訊息無法判斷是什麼錯,也不會解決問題,連有excepiton的錯都不能解決了,要是遇到整個server某一段邏輯有錯,倒致結果是錯的,也不會有exception,那不就挫咧旦XD 5.多與人分享寫的程式,因為這樣你可以知道自己寫的是否有問題,而你或許會收到對方給你更棒的程式元件,或是寫法,當覺得對方的程式好用,就可以學來用或是拿來套,但是要記得當程式是被包成元件時,收到程式並不能直接拿來改,這樣會造成以後原作者又有更新時,你的程式就不能套新的元件,拿到元件需要用繼承或是把他new在自己另外寫的一個類別裡,重新包過,這樣對你自己的程式才有最大的擴充性。 6.或許你看到這裡會覺得上面很多廢話,但等你實際都去做之後,能力還沒有提升,那我也沒辦法XD,有提升的話記得買飲料請我啊XD 共勉之!