距離 android studio 3.0 穩定版的發布已經有段時間。早在發布之際,我便寫過一篇文章,鼓勵大家嘗鮮新版本開發工具:Android Studio 3.0 新功能解析和舊項目適配。
時至今日,仍在各種群裡看見網友們討論 3.0 帶來的所謂的坑。相當一部分朋友不願更新,甚至更新完體驗一段時間後又回退至 2.3 舊版本。既然如此,就再用一篇文章,夾雜著自己一次處理 3.0 問題的過程來聊聊平時開發中遇到的坑。
那麼究竟什麼的錯誤才能算是軟體開發過程中遇到的坑呢?好比說你寫 Coding 完一段代碼,然後編譯時報錯,Run 不起來。於是掄起鍵盤往地上一扔,大罵一聲:垃圾語言,毀我青春!
會嗎?如果不是大姨夫來臨的話,相信大家不會這麼做的。那麼,面對 IDE 工具的更新為什麼不能理性的分析問題呢。
很多開發人員不喜歡查看更新文檔,尤其是英文版。當然,英語閱讀障礙確實算是一個理由。但是像這種關係一眾開發工作的英文文檔,網上都會有對應的中文翻譯版。只需要花費不到一局王者榮耀的時間就足以看完。
當讀完更新文檔之後,你就會發現,所謂的舊版本適配,所謂的新版本帶來的坑,大部分都在文檔裡有所註明,包括每個問題對應的解決方案。
當然,偶爾也會遇到一些文檔裡解決不了的小插曲。比如,我所遇到的 CheckStyle-IDEA 插件不能使用的問題。
這個插件壞掉,意味著在項目中只要包含一處不符合規範的代碼,這次 Commit 將無法提交至 Git 中央倉庫。而更要命的是,面對大批量的修改,我無法用肉眼分辨出不符規範的代碼藏身在哪裡。
沒有插件的詳細錯誤日誌,搜尋引擎也解決不了這種新興出現的小眾問題,怎麼辦?
提交代碼迫在眉睫,只好先使用 jar 包和命令行的笨辦法逐一檢查文件。然後嘗試聯繫 GitHub 網站 CheckStyle-IDEA 插件的作者,通過提交 issue 的方式指出問題,抱著一絲希望期待作者的回覆。
事在人為,多數老外確實比較負責,及時回復處理。由於國內外存在時差,每天與作者只能進行一次相互回復。慶幸的是,經歷前前後後多次的來回溝通,作者更新過兩次插件版本,終於幫我解決掉這個問題。
結果就是,我解決了問題,CheckStyle-IDEA 插件得到進一步完善。列舉這個例子,是想說明,遇到問題並不可怕,一定要擺正心態,積極尋找各種解決方案。不要一上來就認為此處有坑,要避之。很多時候,你所認為的坑不過是別人已經走過的路而已。
這裡也不得不讚嘆一下,人家老外對待自己開源項目的認真程度。像這種兼容問題,作者在不容易復現的情況下,還能引起重視,與問題提交者多次溝通排查錯誤,確實值得稱讚。
截止目前,AS 3.0 版本在我使用的過程中上已沒有任何問題。或者換句話說,我遇到的多數人口中所謂的坑都被填充完畢。功能實用,體驗流暢。也推薦大家升級換代,新版的 UI 簡直狂拽炫酷吊炸天。
更何況,3.0 還隱藏著一個很小但卻很貼心的改動,不知道你們發現了沒有。那就是布局中文本控制項的 singleLine 屬性不再被 Lint 標記為廢棄屬性啦!
圖示為 3.0 前後的顯示對比。用過的人都知道,singleLine 屬性並不能完全被 maxLine 屬性所代替,在 3.0 版本前,卻又被標記為廢棄屬性,難以理解。
好在如今終於得到修復,這對於像我這樣有代碼強迫症和完美主義的 Coder 來說,絕對算是一個驚喜!
武漢之行Google 正式推出中文版 Android 開發教學視頻,你學不學!
贊善,鼓勵原創持之以恆