<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
作為使用者端的開發,工作中經常遇到,後端的同事來幫忙找介面詳情。產品經理來詢問之前的某些功能的業務邏輯,而這些程式碼或者邏輯都是前人遺留下來的……沒有人知道在哪。那如何快速的找到你想找到的程式碼位置呢?
雙擊shift鍵,頁面上有什麼就在程式碼中全域性搜尋什麼,比如標題,按鈕名字~找到資原始檔佈局檔案,再進一步搜尋用到這些檔案的程式碼位置。
在不方便debug的時候,可以輸出一些log,通過檢視log的輸出,可以明確的看出程式執行時的執行邏輯和變數值。
我們要善於利用AndroidStudio提供的工具,比如profiler。在profiler中可以看到手機中正在執行的Activity的名字,甚至能看到網路請求的詳情等等,功能很強大!
在你的Application中註冊一個Activity的生命週期監聽,
ActivityLifeCycle lifecycleCallbacks = new Application.ActivityLifecycleCallbacks(); registerActivityLifecycleCallbacks(lifecycleCallbacks);
在進入到頁面的時候,直接輸出頁面路徑~
@Override public void onActivityCreated(Activity activity, Bundle bundle) { Log.e(TAG, "onActivityCreated :" + getActivityName(activity)); }
這裡討論的是那些第一時間沒有思路不知道如何解決的bug。這些bug有的是因為開發過程中粗心寫錯變數名,變數值,使用了錯誤的方法,少執行了方法,之前修改bug時某些地方被遺漏了,或者不小心把不應該改動的地方做了改動。也可能是因為使用的第三方庫存在缺陷,也可能是資料問題,介面返回的資料不正確,使用者做了意料之外的操作沒有被程式正確處理等等。
解決棘手的bug之前,首先要穩定自己的心態。記住,心態很重要。無論這個bug已經造成了線上多麼大的影響,你的boss多麼著急的催著你解決bug,要有一個平穩的心態才能解決問題,否者,慌慌忙忙緊緊張張的狀態下去解決bug,很可能會造成更多的bug!
解決bug的第一步,當然是穩定的復現bug。根據我的經驗,如果一個bug可以被穩定的復現,至少它就被解決了70%。
通過觀察bug的現象,就可以對bug做個大致的歸類或者定位了。是因為資料問題?還是第三方庫的問題?還或者是程式碼的問題?
接著就是debug,看紀錄檔等常規操作了~
如果經過上面的操作,你還是一籌莫展,那麼請往下看。
如果你真的是一點思路也沒有,很可能某些可能造成bug的程式碼也看不太懂。我建議你做一些改變現狀的操作,比如:注掉某些程式碼,嘗試其他的輸入資料或者操作。總而言之,就是讓bug的現象出現改變! 那麼你做的這些操作肯定是對這個bug是有影響的!!!然後再逐步恢復之前注掉的程式碼,直到恢復某些注掉程式碼之後,bug的現象恢復了。很有可能這裡就是造成bug的位置。bug定位了之後,再去思考解決辦法。
在實際的開發過程中,很多問題是通過技術手段解決不了的。可能是業務邏輯就出現了矛盾,也有可能是是因為一些奇奇怪怪的王八的屁 股。這類問題要早點發現,早點提出,才能早點解決。有些可能踩紅線的問題,作為開發,不要試圖通過技術去解決!!!否則可能要去踩縫紉機了~~~
我一直堅信,世界上有更多能力比我強的人。我現在面對的bug也肯定不是隻有我面對了。張張嘴問問周圍的同事,問問網站上的大神,現在網路這麼發達,只要別人解決過的問題,就不是問題。
很多時候的bug可能只是因為你對某些領域不熟悉,去請教那些對這個領域熟悉的人,你的問題對他們來說可能不是問題。
有的時候的bug可能不是bug。提出bug的人可能只是對某些操作或者現象不理解,或者沒有達到他們的預期。他們就會提出來,他們覺得現在的程式是有問題的……這個時候可以去嘗試解決這個提出bug的人!讓他們覺得這不是一個bug。當然你沒有這種“解決人”的能力的話,就還是老老實實去解決bug吧~
人的成長在於,遇到了問題,敢於直面問題,解決問題,並讓自己今後避免再出現類似的問題!
解決了bug,無論這個bug是自己造成的還是別人造成的。要善於總結,避免日後自己再寫出類似的問題。
遇到如何實現不會的功能,內心首先不要著急抗拒。
人總要成長,開發的技能如何成長?總不是像流水線工人那樣做些一些“熟練”操作吧?總要走出自己的舒適圈,嘗試解決一些問題,突破自己的上限吧~
你要知道,在Android開發這個領域,其實沒有什麼逾越不了技術壁壘!只要別人家有的,你就可能有!別人家做出來的東西,你就能做出來。這種信心,至少要有的~
一個複雜的功能,通常可以分解成一些簡單功能,簡單的功能就可以攻克!
那麼當你在面對要實現一個複雜功能或者沒有接觸過的功能開發的時候,你所要做的其實就是分解這個功能,然後處理分解後的小功能,最後再把這些小功能組合回去!
遇到問題,嘗試解決,實在不行,就要及時向上級反饋。作為你的上級,他們有責任也有能力幫你解決問題,或者至少給你提供解決問題的一種思路。心態要穩,天塌了有個高的頂著。
以上就是Android 開發與程式碼無關技巧詳解的詳細內容,更多關於Android 無關程式碼開發技巧的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45