當我用ChatGPT摸了一上午魚,結果......
點擊上方藍字關注我,知識會給你力量
經常有人問我,ChatGPT出來這么久了,你怎么不寫點教程(割點韭菜)呢?其實,從它一出來,我就關注了,也在平時的工作中進行了使用,正好最近在處理一個埋點的問題,就拿ChatGPT來進行下演示吧,看我怎么用ChatGPT來摸魚,解決我們平時遇到的問題。
問題是這樣的,相信很多朋友也遇到過,那就是RecyclerView的Item曝光埋點問題。最開始對埋點數(shù)據(jù)要求不高的時候,埋點代碼,都是直接寫在onBindViewHolder?里的,這是最簡單的方式,但是問題在于RecyclerView的預加載會創(chuàng)建一些頁面不可見的緩存Item,這就導致了曝光數(shù)據(jù)不準,所以,當產品突然要求更加精準的曝光埋點時,這種方式就顯得手足無措了。
這個問題的解決,國際上大致有兩種方案。
一種是基于Adapter,在滾動停止時,計算當前firstVisible和lastVisible,并與上次的記錄進行對比,從而計算出曝光的Item,這種方式也是簡單有效,但是弊端在于統(tǒng)計粒度比較粗,如果以后產品要按照「Item展示大于x%才算曝光」,這樣就無法實現(xiàn)了。
那么另一種方案,就是計算當前View的已經繪制的Rect和原始Rect的對比,從而可以推斷當前View的曝光狀態(tài),類似airbnb的epoxy,就是這種方案https://github.com/airbnb/epoxy,這種方式的定制程度就比較高了,但是稍微復雜一點,需要處理好監(jiān)聽的管理,否則會有一些性能壓力。
ok,現(xiàn)在壓力給到ChatGPT,讓我們來看看它是如何解決這個問題的,下面的這些截圖,就是我和ChatGPT的完整對話過程,首先,我們把問題拋給ChatGPT,當然,最開始我們需要給它一個比較寬泛的問題,然后再一步步引導它將答案具化。
看來ChatGPT還是信手拈來。接下來將問題具化到我們的RecyclerView。
由于是使用Kotlin,所以我的思路是盡量不改原來的代碼,所以,拓展函數(shù)來一個?


這時候已經有點意思了。
ChatGPT果然是老實人,我說鎖屏你就真的只管鎖屏?
有點扯了,算了,先實現(xiàn)方案,后面再處理。
這個我還真沒想到,之前對這種方案了解不對,還真是小刀劃腚子。
不得不說,ChatGPT還是很聽勸的,也很有禮貌,對于我的指責,能夠好好反省。
但當我把它的代碼copy到項目里面去運行,才發(fā)現(xiàn)了一堆新的問題。


不得不說,你創(chuàng)造API的能力是一流的。
態(tài)度挺好,但是,這錯的是不是有點多啊,能不能一次改完?


終于改完了,我們現(xiàn)在在試試變更需求,看它能不能理解。
不錯,再加點難度。

這時候,ChatGPT就突然變蠢了,改了好幾次都不能完成這個需求。

越改bug越多。




到這個時候,我已經失去耐心了,這個bug來來回回改了這么多次,依然有問題,也許是跟我對話時間太長,變蠢了?
總而言之,我花了一個上午的時間想利用ChatGPT來摸魚,但最后發(fā)現(xiàn)竟然比我自己做還累??我不僅要檢查它的思路是否正確,還得給它解bug?
其實這個問題并不復雜,我們在問它之前,已經有一些思路了,但是最終ChatGPT并沒有生成完整能符合需求的代碼,不過這也不能全怪ChatGPT,它畢竟只是一個出道兩年的練習生而已。
雖然忙了一上午沒摸成魚,但是我們也進一步了解了ChatGPT,不可否認,它的確有用,但還不足以能威脅到我的飯碗。那么我們能利用ChatGPT摸什么魚嗎,當然是可以的。
首先,你可以一定程度上替代搜索引擎,雖然有些問題它有些瞎扯淡,但是比起百度來說,我覺得還是更勝一籌的,很多簡單的問題,基本就可以放棄百度了,直接ChatGPT就好了。
其次,你可以借助ChatGPT來給你提供思路,雖然它的代碼不一定能完全滿足你的需求,但它的思路,基本還是符合國際慣例的,有時候甚至還能給你一些驚喜。
最后,ChatGPT是需要調教的,別指望一下子就能給你很完善的回答,你需要一步步引導它,但對于像我這個level的程序員來說,這就好像在面試一個出道兩年的練習生,有點驚喜,但不多,更多的是無奈,回答不到點子上。
當我用ChatGPT摸了一上午魚,結果......我浪費了一上午?。。?/p>
向大家推薦下我的網(wǎng)站 https://www.yuque.com/xuyisheng 點擊原文一鍵直達
專注 Android-Kotlin-Flutter 歡迎大家訪問
往期推薦
本文原創(chuàng)公眾號:群英傳 ,授權轉載請聯(lián)系微信(Tomcat_xu) ,授權后,請在原創(chuàng)發(fā)表24小時后轉載。 < END > 作者:徐宜生
更文不易,點個“三連”支持一下??
