爲何我沒有寫具體語言呢?語言只是一種工具,是爲了更好解決實際問題的。
計算機專業一名普通男生,語言方向是Java,臨近畢業,沒有選擇考研升學,或者拿出幾個月時間瘋玩來個說走就走的畢業旅行,而是選擇實習工做,目前在本地省電視臺實習,我不是什麼大牛,我只是個"愚笨"的小菜鳥。
日後打算當博客寫,並記錄本身學習成長之路,先開始從設計模式部分寫起,本人也還沒學完。不按期更新但必定會堅持,文筆很隨便,如有不足之處,請指出不足之處,90度鞠躬~~~
寫下這篇文章目的很單純:
1:練練本身寫做能力(怕是這個理由本身都不信)
2:想爲本身設計模式的學習之路記錄下來,這將是個人開發生涯的起點
3:寫此文的2個月前,我對開發的思惟很是的"學校化",我儘量將我本身的學習感覺寫下來,但願能幫助和我有相似經歷的朋友一點建議。
4:但願本身能成爲一名優秀的開發人員前端
正文開始:
工做以前「不懂」爲何那些老程序員老喜歡把簡單的功能每每作的那麼「複雜」。一個方法這裏一個接口,那裏一個抽象類,而後方法這裏跳哪裏跳看的人眼暈,但每每實現一個複雜的功能好像代碼量又很少似的。程序員
我真正開始作實習項目是在本暑假的第一個月末。
第一個月帶個人程序員前輩就是讓我擺正浮躁心態,前輩倒也不客氣,說我目前是達不到實際參與工做的水平,並且還說日後的一段時間須要我自學,(當時個人心是奔潰的)是的,那時候的我仍是在「依賴」校園編程思惟的,剛開始頭2禮拜便開始在電腦上裝虛擬機使用Linux系統,熟悉基本操做指令,並學習SVN實現Windows端和Linux端的文件傳輸和用戶權限分配功能,以及在Linux下安裝配置JDK,Tomcat,Oracle環境,除了SVN前輩給了我必定的指點以外,其他的遇到問題只能問度娘了,固然最後我都是作完了,並獲得前輩的承認。第三週開始給我講解了企業開發的一些基本流程框架,好吧我也沒記住多少。。。。。後來前輩開始跟我講解CMS,這就是我實習的第一個項目了,剛開始跟我講了CMS的功能實現都具體有哪些(講真別去百度,我當時百度上找CMS具體內容,我前輩說都有誤的,實際定義請參考百科裏CMS詞條),而後我開始寫思惟導圖和用visio寫流程圖,這是實際開發以前必作的一項工做,每每不少時候你須要交互的客戶並不懂技術,思惟導圖的做用就是讓客戶和開發組員們能很清楚的理解項目需求和意圖以及數據庫結構的搭建,流程圖就是功能具體實現步驟了,讓開發人員瞭解具體開發或維護哪些地方。我當時是修改了3次,到第三次時候前輩下降了要求:「你就先用這樣方式寫,但想的仍是簡單了點,日後經驗慢慢多了就天然理解了,你有的地方本身設了坑就先本身跳,得吃虧。」這話我記得清清楚楚...第四周開始用一週的時間寫好了項目前端靜態頁面,和用SSH框架寫好了一個用戶操做部分,基本CURD操做,而後讓前輩來看效果,好吧他只看了代碼,根本不關心效果,各個類看了看,直接就說「哎呀,你這代碼都不通用啊,沒有通用性...」what??啥是通用性?而後我那天下午他花了20分鐘給我看他早些年剛工做沒多久時候寫的C#代碼(前輩是.Net出身,目前用是個我沒據說的語言)而後給我講解複用性代碼和設計模式的重要性,這些是學校老師不會教的東西,對於當時的我來講,個人代碼觀完全的崩塌了。數據庫
那天下午我開始從新思考本身寫代碼的心態,之前本身在學校寫代碼都是爲了實現而去實現,從沒考慮過寫的代碼是否能複用,結構是否清晰易懂,是否安全靈活,是否能夠有很好的拓展性和彈性,不少東西都沒有考慮到,因此我如今深有體會,編程每每就是越學越「糊塗」 ,也每每是四個階段:不知道本身不知道,知道本身不知道,不知道本身知道,知道本身知道。因此我暫時中止了cms項目,我如今須要提高本身代碼質量,寫的代碼要有可複用性,可拓展性,因此我開始了設計模式的學習編程
第二個月的第一週5天工做時間加1天週末時間所有用來學習設計模式,這裏我參考了《Head First 設計模式》這本書,並下載了配套源碼作參考,雖然都只是簡單輸出功能,但優秀程序員寫的代碼很是清楚,理解起來也不費勁,可是我想說的是,設計模式是一種思惟,是前人的經驗總結和精華的濃縮,而不是"模板",並不能徹底去套用,因此用好設計模式,我還需更多的練習,這也是我開始寫博客的初衷,目前我已經開始慢慢用我學到的設計模式「思惟」去改進個人項目了。方法也再也不是具體實現了而是經過調用形式,實現方法單獨放,怎麼說呢?就是類和類之間依賴度下降了,解耦了,即使須要拓展新的功能,也比較方便,並且也不太破壞其餘的方法。雖然我認爲本身進步比較慢,但好在本身肯花功夫去打磨本身。設計模式
感謝你看到這裏,若你是個有經驗的開發者的話,如有不足望給予指點,若你和我同樣剛進入開發崗位的初級程序員或還在學習的學生,但願你擺正本身的心態,虛心向有經驗的老程序員前輩請教,並問問本身,本身是否真的合適去走程序員這條路嗎?若不想輕言放棄,那麼設計模式必然是「菜鳥」進階的選擇,說的直白點,連代碼都寫很差,再去學所謂很牛X的東西也沒有用,就像蓋房子同樣,打好地基是很重要的,很快我將放出第一個設計模式內容。生命不息,編程不止!安全