當然這里列出的全部是一些技術上的點,其他的全部略過~
1. 日常開發
作為互聯網技術從業人員,日常開發就是我們的本職工作。在熟悉了一個公司的開發流程和使用的開發技術后,就開始進入一個貌似是死循環的開發過程。其實從態度上來講,在完成了3-5個日常項目流程后,可能覺得一些枯燥。像一個也算是新人的同事和我抱怨,現在的開發好無聊。其實怎么講呢,萌生這樣的心態是很正常的。每次都做一樣的事,重復勞動是程序員的大忌。然而我們真的是在做重復的事情么?世界上有兩件事是最美的,一是創造,一是欣賞?;久總€大公司都有自己的框架,自己的技術體系,學會使用只是一個皮毛,了解原理深入源碼會發現藝術感的美妙。為什么設計成這樣給我們帶來了思考,不要抱怨一個框架的好壞,覺得好用,哪里好用,找出來,總結好;覺得爛,OK,哪里爛,從作者的角度去考慮,他這樣設計在權衡了哪些優缺點后才這樣設計。我們看各種書和文章,知道了jee開發框架的各種優缺點,知道了設計模式的各種指標和應用。但是為什么這樣設計?有人講設計模式根本不算發明,只是日常思維的總結。是,那為什么我們總結不出來?GOF就可以呢?日常開發,分兩個角度看,你的態度決定一切,只是一味的做,那必然無趣,不斷的去挖掘開發用到的技術的內涵,你會覺得,讓日常來的更猛烈些吧~
談完了態度,談談純技術上的點。就web開發框架來說,最初掌握的一定是其基本框架,就像spring的管理bean的IOC容器,AOP,對ORM及service的支持等等。會用這些東西后,就開始考慮流程用到的各個部分為什么這樣設計。比如就拿spring的IOC講,bean的加載,注冊,及整個的管理機制,熟悉,源碼閱讀,這都是必備的工作。像我們使用webx,與spring類似,那么它的各套流程是什么?我們開始加載配置,那么好吧,service是什么時候來的,都是哪些service,在哪里配置。加載pipeline的時候,每一個valve的invoke方法都做了什么。模板加載時候的具體定位怎么樣~~等等這些流程都要清楚明白并且知道源碼。為什么干這些,一是你知道的越多,你似乎越牛逼,其實關鍵是你知道了原理,在問題發生的時候,定位問題的時間就越短,解決問題就越快。
2.測試
不是寫好單元測試就OK的~~做過開發自測的同學都知道測試的辛苦,前些日子做一個功能日常的自測,我光測試賬號就領了11個,賬號之間關系復雜,各種好友、關注等等。時不時還需要在紙上以網絡示意圖的形式記錄賬號之間的關系。測試是很辛苦的,關鍵是為了覆蓋的全,我們必須有重復勞動和大規模覆蓋的決心和耐心。可能更多的是耐心吧~
自測不是所有人都做的,更多的是開發完成后交給測試人員,別的公司我不清楚,我公司的測試有時候有些兼職產品的感覺,會提出各種功能上的改進。其實這也對,本著讓產品更好的原則,每一個人的每一個建設性建議,我們都要接受。于是開發人員在這時就到了考驗耐心的時候。虛心聽別人的建議,然后決定是否改進,測試的時候就像考試時做檢查,做題的感覺和檢查題目的感覺是不一樣的。耐心是堅韌的表現,去提高自己這一塊的能力。
3.優化
工作雖然沒多久,但總結的優化有兩種,一種叫性能上優化,那是堅定了產品路線后,不斷的完善。另一種叫推翻重做(鄙視)。
性能優化書籍一大把,我的優化經驗也少的可憐,目前只是做了代碼重構,通過減少服務調用和優化存儲數據結構來提升了大概20-50%的性能。還有一個補充就算是界面優化,當然這多數是交給前端開發人員做的事情了,但經過一段前端打雜后,發現一個了解前端技術的開發是多么的游刃有余(有點自大了)
先就總結這么多吧。半年來還是有不少浪費時間的情況存在,下半年努力~~fighting