作為一名技術人員,不斷地追求代碼的質量是前進的不竭動力. 有時候人需要再逼一下自己!
2016年一季度工作計劃
1 提升對iOS的工作原理的基本認識,至少在某一方面(性能,底層runTime,runLoop工作原理,動畫)有超過別人的能力.
2 工作再忙也要抽時間寫blog,總結自己近一段時間的得失.
3 研究項目架構MVC,MVVM模式的區別,并將公司的項目融入到更好的模式中,讓代碼變得簡單.
4 對于自己手里寫出的代碼,力求嚴謹,對以前不好的實現方式進行改進.
完成情況
1 完成目標, 對iOS的工作原理有一定的了解, 當看技術大牛的博文的時候再也不會因為runTime, runLoop, KVC/KVO這些晦澀的名字所嚇倒, 并能夠使用Instruments在項目中實戰檢測內存泄露及CPU消耗過多的地方,并對代碼進行優化.
2 基本完成, 由于時間有限, 不能面面俱到的將所有工作細節搬進blog, 但對于KVO, 單例, copy等這些平時很少用到的東西能夠通過demo的形式去理解.
3 淺嘗輒止, 在工作中,嘗試用ViewModel對ViewController進行瘦身, 但這里做的還是不夠好, 由于對原代碼本身工作方式了解不夠透徹,導致代碼雖然節儉了些,但是卻多出一些bug, 自己還不夠強大, 無法一個人完成無縫無bug的代碼遷移.
4 非常好, 不僅將自己代碼中的問題進行了改進, 還把其它看著惡心的代碼也改了.
工作之余, 通過學習下面的路線圖
這份路線圖的上半部分已經學習完了, 開始覺得這些基礎的東西沒什么, 不太重視, 但是實際開發中, 如果對這些基礎的東西不夠了解, 就會造成疑惑, 單說@property這東西, 就可以學一天了.
總的來說這是收獲頗豐的一季, 從無知到知道如何去學習iOS, 學習使用開源框架(MJExtension, SDWebImage, AFNetworking, Masonry), 學習使用XCode插件(KSImageNamed, VVDocumenter, ESJsonFormat). 從懶得敲代碼(其實連基礎都不牢靠, 寫起代碼到處都是問題)到遇到問題自己寫demo來查問題, 從iOS門外漢到可以和微博,gitHub上的大牛問一問,你的框架怎么用,為什么要這么用,還有什么bug. 有很多大牛都是90后, 感覺壓力好大.
這里附上這一季對我影響重大的大牛的微博或者gitHub的地址
1 李明杰(小碼哥教育的創始人, 曾在傳智講課, MJExtension, MJRefresh的作者) 李明杰新浪微博
2 葉孤城(不知道真名叫什么, 經常會分享些高質量的文章, 在微博上很活躍) 葉孤城新浪微博
3 唐巧(猿題庫iOS開發, 感覺很牛的一個人, 寫的文章層次都很深, 搞iOS很久的樣子, 對iOS一些基本原理有很獨到的見解) 唐巧博客
4 戴銘(滴滴iOS開發, GitHub上有關于Autolayout和MVVM的demo, 感覺是對技術有很高追求的人,不人云亦云, 專心做自己的技術) 戴銘新浪微博
5 郭曜源(一位90后的iOS開發, 好像搞iOS也沒很久, 網名ibireme, YYKit的作者, 就職于優酷土豆) 郭曜源博客
其實活躍的大牛圈子還是很小的, 可以通過一個找到另外一個, 而且他們很多都是互相關注, 有東西互相轉發的, 但更多的大牛是隱匿在GitHub上的老外, 從GitHub上和他們issue上看, 他們不僅技術牛,而且都很謙虛.
為了成為低調奢華有內涵還謙虛的大牛, 下面是2016年第二季度工作計劃(路還是要一步一步走的):
1 完成學習路線圖的剩余部分, 力求對iOS開發無死角, 至少在和別人的交流上不會出現別人說了一個名詞自己連聽都沒聽過.(基礎側)
2 深入學習MVVM的VM數據綁定方式, 以最好的方式在項目中保證自己的代碼可讀性最高, 力求所有View上的代碼可復用, 邏輯層的代碼邏輯清晰代碼簡潔, 力求頁面部分能清晰理出控制器的職責.
3 將學過的東西通過自己的項目(WeTogether)鞏固加深理解, 做出一個有下載, 上傳, 初具社交類軟件規模的項目.(實戰側)
4 深入研究MJExtension和YYKit框架, 對runTime有更深的理解. 嘗試寫出protobuf協議解析的類似框架, 一行代碼將PBModel轉XXModel. (提升側)
5 有時間學習下React Native.(忙里偷閑)