0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用ChatGPT來促進Android軟件開發(fā)的7個案例

哆啦安全 ? 來源:TechMerger ? 作者:TechMerger ? 2023-04-21 09:17 ? 次閱讀

ChatGPT 是由 OpenAI 公司創(chuàng)造的自然語言處理工具,對那些想要提高技能的軟件開發(fā)人員來說,它絕對是不容錯過的重要利器。

本文將展示使用 ChatGPT 來促進 Android 軟件開發(fā)的7個案例,你會發(fā)現(xiàn)憑借其易用性和定制功能,ChatGPT 能夠大大提高軟件開發(fā)人員的績效表現(xiàn)。

準備工作

訪問 ChatGPT

首先訪問官方的鏈接,并創(chuàng)建一個賬號??梢赃x擇直接注冊或是使用 Google、Microsoft 的現(xiàn)有賬號。

整體的界面如下:

ba4ef63c-dfd6-11ed-bfe3-dac502259ad0.jpg

ChatGPT 賬號默認會保留你和它的對話歷史,方便你在其他會話里再次訪問這些記錄。當然,如有需要,你也可以直接刪除某個或多個對話歷史。

使用前須知

想要有效使用 ChatGPT,有一點非常重要:應(yīng)當使用編程領(lǐng)域的專業(yè)術(shù)語,制定出清晰的、客觀的提問內(nèi)容。

在得到它的回答之后,也建議大家去評估這個回答與所提問題的關(guān)聯(lián)程度以及否適用,這對于我們檢查和優(yōu)化提問內(nèi)容非常重要。

另外,請記住 ChatGPT 可以支持多種語言,如果你還不太熟悉英語,可以選擇其他語言。

提問十分關(guān)鍵

與在搜索引擎里輸入關(guān)鍵字有所不同,在 ChatGPT 這里,你可以像和人交談一樣提出問題。只不過要確保問題內(nèi)容盡可能多地包含詳細信息。

盡量去避免提出那些主觀的、模糊不清的、寬泛的問題。

舉個例子,如果你問它 “在 Android 上如何實現(xiàn)注冊界面”,那它的回答結(jié)果很有可能是如何啟動 Android 項目并創(chuàng)建 XML 格式的組件,而這些回答其實也同樣含糊不清和寬泛。

因此,更好的做法是針對你想要的東西、必要的細節(jié)去提出更加具體的問題。也不用擔心問得太啰嗦,涵蓋的細節(jié)信息越多,ChatGPT 的回答將越準確。

如下的例子里,我補充了技術(shù)細節(jié)和期待的具體東西。

可以看到,這次它給出的結(jié)果是按照提問要求提供了 Jetpack Compose 技術(shù)代碼,而且是幾乎可以在 Android 項目中直接使用的程度。

既然大家已經(jīng)學(xué)會了如何恰當?shù)靥岢鰡栴},那么下一關(guān)就是去理解、評估這個答案。

評估回答是否有用

搜索引擎提供的結(jié)果里,通常你會在頂部看到一支廣告,然后可能是贊助商提供的帖子以及你搜索的第一個結(jié)果。我們打開第一個鏈接,往往會發(fā)現(xiàn)這不是自己想要的結(jié)果,這時候會有點擔心又不擔心,因為還有幾十萬頁的結(jié)果等著去一一確認。。。

ChatGPT 則不同于上面的情況,它永遠不會說不知道,它總會給你一個答案。而這個答案可能是對的、也可能是錯的。我們面對這個唯一的答案,如何正確地理解和辨別,就顯得至關(guān)重要。

ba81a51e-dfd6-11ed-bfe3-dac502259ad0.jpg

運用上下文信息

如果 ChatGPT 沒能正確地、完整地作出回答,你可以針對目標答案提供更多信息、隨時再問一遍。ChatGPT 本身會維護問題之間的上下文信息,所以它能夠明白你在討論什么。

舉個例子,讓 ChatGPT 改寫上面的代碼:將變量firstName改為completeName。

如下的圖可以看到:它確實只改寫了firstName代碼,其他代碼和之前保持了一致。

ba933946-dfd6-11ed-bfe3-dac502259ad0.jpg

案例 1. 代碼生成

如上所述,ChatGPT 是全能型工具,可以幫助你處理很多領(lǐng)域,包括軟件開發(fā)者很關(guān)心的代碼生成。

盡管無法創(chuàng)建完整架構(gòu)或是一個 App 的所有代碼,但我們可以將一個大的問題拆解成更小的問題。這樣的話,ChatGPT 便能給你提供有用的幫助。

baab86a4-dfd6-11ed-bfe3-dac502259ad0.jpg

除了提供代碼,ChatGPT 也能解釋代碼能夠奏效的原因,這可以幫助你更好地理解代碼的具體邏輯。

一定要去仔細評估這些回答內(nèi)容,如有必要,你可以繼續(xù)請求它改寫、優(yōu)化,以滿足你的需要。

bac5495e-dfd6-11ed-bfe3-dac502259ad0.jpg

案例 2. 修改 Bug

你可以拷貝一個代碼片段并詢問 ChatGPT 是否包含任何 Bug 或錯誤,它可以針對代碼質(zhì)量進行反饋,進而幫你定位出潛在的問題。這些反饋包括:修改代碼的建議、提高代碼效率以及如何避免一般的錯誤。

這將節(jié)省開發(fā)者在調(diào)試、測試代碼上耗費的時間和精力,幫助我們構(gòu)建更加可靠、高效的軟件。

badf236a-dfd6-11ed-bfe3-dac502259ad0.jpg

如果提供的代碼確實需要改善,那么 ChatGPT 會向你解釋可能會發(fā)生什么錯誤以及建議的解決辦法。

分享代碼的注意

代碼屬于公司的知識產(chǎn)權(quán),而非員工個人。如果沒有獲得更高級別的許可,就將其分享給 ChatGPT 可能會產(chǎn)生違規(guī)。

除此之外,AI 能夠訪問和存儲敏感信息。如果員工們訪問了這些工具,他們可能在不經(jīng)意間將信息傳遞給了 AI,造成安全違約和其他嚴重后果。

再惡劣一點的,如果黑客們?nèi)肭至诉@些工具,那么公司信息必將發(fā)生泄露。

所以,在給 ChatGPT 或其他 AI 工具分享敏感信息前,務(wù)必謹慎考慮這些風險。

案例 3. 寫單元測試

當然你也可以在拷貝代碼后問 ChatGPT 是否可以生成 Unit test 來檢驗該函數(shù)功能。ChatGPT 可以指引你完成 Unit test 的最佳實踐,以及建議你如何重構(gòu)代碼去更加容易地進行測試。

baf5b904-dfd6-11ed-bfe3-dac502259ad0.jpg

和上述過程一樣,它將返回 Unit test 代碼并解釋這些測試代碼如何運行的。

案例 4. 寫文檔說明

ChatGPT 也能夠為現(xiàn)有的代碼生成文檔說明。

如下圖所示,我們可以指定代碼語言和規(guī)則。

bb0a2e16-dfd6-11ed-bfe3-dac502259ad0.jpg

案例 5. 解釋代碼邏輯

通過前面的章節(jié),我們知道 ChatGPT 在生成代碼的同時會進行解釋。自然而然地,你也可以直接讓他解釋某段代碼,幫你理清其邏輯。

bb2556fa-dfd6-11ed-bfe3-dac502259ad0.jpg

案例 6. 解釋概念

概念類、架構(gòu)類、工具類以及日常工作中可能遇到的問題,ChatGPT 都可以解答,可以放心大膽地提問。

如下圖,我們讓它解釋 Android 平臺上 Activity 和 Fragment 的區(qū)別。

bb3c4964-dfd6-11ed-bfe3-dac502259ad0.jpg

其實,我們可以問它任何問題,只不過本篇文章側(cè)重于闡述 ChatGPT 對于 Android 軟件開發(fā)的幫助。

案例 7. 幫助你求職

很多人沒想到 ChatGPT 甚至能幫助你找工作:比如你可以問它如何準備面試中的常見問題。

盡可能開動你的腦筋、好好利用它,讓你更加充分地準備面試。

bb534af6-dfd6-11ed-bfe3-dac502259ad0.jpg

再次提醒:時刻留意 ChatGPT 回答的可靠性、準確性。

比如上面的例子,我們問它“我要面試初級 Android 開發(fā)者職位,有哪些需要準備的常見問題?”,它在回答中提到的部分組件(比如 AsyncTask、LinearLayout 和 RelativeLayout)現(xiàn)在已經(jīng)不怎么考察了,有些過時了。

所以保持評估它給出的結(jié)果,不可盡信。

結(jié)語

確實,ChatGPT 有助于提高開發(fā)者的生產(chǎn)力,但必須認識到它存在一些局限性,這很重要。

1. 卡頓、不穩(wěn)定

如果很多人同時訪問,免費版的 ChatGPT 會變得很卡、甚至完全用不了,這時候你得手動刷新頁面、碰碰運氣。

2. 存在付費版本

ChatGPT 提供了每月 20$ 的付費版本,讓你能夠獲得更快的響應(yīng)、并且即便很多人同時訪問也不會影響你的使用。畢竟你要知道:官方可沒保證未來會持續(xù)提供免費版本。

3. 缺乏可靠性

如前面章節(jié)所述,ChatGPT 會回答任何提問,答案可能是正確的、也可能是錯誤的。所以,關(guān)鍵在于評估這些回答??墒羌幢憬Y(jié)合你的經(jīng)驗,你也可能忽視掉 ChatGPT 回答中的錯誤。所以最佳做法是把它當作你的助手,靈活地控制解決方案,如何決策在于你自己。

4. 缺乏最新數(shù)據(jù)

ChatGPT 是基于海量信息訓(xùn)練的聊天機器人,并且訓(xùn)練不是即時的。舉個例子,它可能不知道 Kotlin、Android 最新的更新內(nèi)容,亦或最新的 Google IO 大會發(fā)生了什么。

5. 只能輸入純文本

當前 ChatGPT 還不支持上傳文件,所以想讓它 review 代碼的話,你得拷貝代碼片段,畢竟單個提問的文字長度被限制在 1000 個以內(nèi)。

另外,它也不能像 Markdown、Slack 那樣,可以通過引號來格式化代碼,開發(fā)者只能用純文本格式向 ChatGPT 提問。

6. 缺乏安全性

ChatGPT 是 OpenAI 公司推出的工具,它利用網(wǎng)絡(luò)信息投喂其數(shù)據(jù)庫,這也包括你在對話中發(fā)送的內(nèi)容。

所以,切勿發(fā)送機密信息。

最后的最后

綜上可以看到,ChatGPT 極有可能徹底改變開發(fā)者們的工作方式。盡管存在可靠性、響應(yīng)速度、最新數(shù)據(jù)等局限性,ChatGPT 仍舊可以大大提高我們的生產(chǎn)力、改善我們的開發(fā)時間。

倒也不必擔心 ChatGPT 會竊取咱們的工作,因為從別的角度來說,這個工具確實可以給開發(fā)者提供非常有價值的支持、促使日常工作更加高效、幫助大家擺脫重復(fù)繁瑣的任務(wù)。。。

倘若能將 AI 人工智能和人類的創(chuàng)造性、技能完美結(jié)合,那么未來的軟件開發(fā)將變得極為高效和超乎想象!


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3903

    瀏覽量

    126608
  • XML
    XML
    +關(guān)注

    關(guān)注

    0

    文章

    186

    瀏覽量

    32993
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    28875

    瀏覽量

    266199
  • OpenAI
    +關(guān)注

    關(guān)注

    9

    文章

    988

    瀏覽量

    6252
  • ChatGPT
    +關(guān)注

    關(guān)注

    28

    文章

    1517

    瀏覽量

    6917

原文標題:使用ChatGPT改善Android開發(fā)效率的7個案例

文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    軟件開發(fā)(手機開發(fā) 網(wǎng)絡(luò)多媒體 linux開發(fā) android開發(fā)

    或者相關(guān)專業(yè);5年以上軟件開發(fā)經(jīng)驗,優(yōu)先考慮具有嵌入式系統(tǒng)開發(fā)以及Android系統(tǒng)開發(fā)經(jīng)驗的候選人; 2、具有良好的項目管理和開發(fā)團隊管理
    發(fā)表于 12-13 17:23

    上海率眾招android軟件開發(fā)工程師,月薪兩萬!——電子圈

    android軟件開發(fā)工程師月薪15000~20000城市: 上海市學(xué)歷: 本科經(jīng)驗: 1年行業(yè): 通信與網(wǎng)絡(luò)公司: 上海率眾信息科技有限公司職位描述:崗位職責: 1. Android手機應(yīng)用
    發(fā)表于 07-15 09:34

    RK3288 Android7.1軟件開發(fā)指南分享,絕對實用

    RK3288 Android7.1軟件開發(fā)指南分享,絕對實用
    發(fā)表于 03-04 07:39

    Eclipse嵌入式軟件開發(fā)平臺

    隨著嵌入式系統(tǒng)在通信、網(wǎng)絡(luò)設(shè)施、航空、航海和航天等領(lǐng)域的大范圍應(yīng)用,需要功能強大的軟件開發(fā)平臺輔助嵌入式應(yīng)用軟件開發(fā)。一好的軟件開發(fā)平臺
    發(fā)表于 12-01 15:37 ?55次下載
    Eclipse嵌入式<b class='flag-5'>軟件開發(fā)</b>平臺

    ARM嵌入式軟件開發(fā)

    ARM嵌入式軟件開發(fā)ARM嵌入式軟件開發(fā)ARM嵌入式軟件開發(fā)
    發(fā)表于 01-15 17:29 ?64次下載

    CFD軟件開發(fā)的三階段

    本白皮書結(jié)合歷史背景分析探討了產(chǎn)品開發(fā)用商業(yè) CFD 軟件開發(fā)所經(jīng)歷的三階段,并討論和展望了未來開發(fā)所面臨的挑戰(zhàn)和機遇。
    發(fā)表于 09-11 14:53 ?11次下載
    CFD<b class='flag-5'>軟件開發(fā)</b>的三<b class='flag-5'>個</b>階段

    Linux軟件開發(fā)環(huán)境

    Linux軟件開發(fā)環(huán)境介紹。
    發(fā)表于 03-25 15:46 ?7次下載
    Linux<b class='flag-5'>軟件開發(fā)</b>環(huán)境

    基于模型的嵌入式軟件開發(fā)

    對工具的分類和資質(zhì)審核通過認證的方式發(fā)放證書應(yīng)對復(fù)雜系統(tǒng)時,軟件開發(fā)人員的工作效率在降低解決復(fù)雜軟件開發(fā)效率低下的路徑:模塊化開發(fā) (一復(fù)雜的系統(tǒng)包含很多模塊,每個模塊都比較簡單,這
    發(fā)表于 11-03 11:21 ?9次下載
    基于模型的嵌入式<b class='flag-5'>軟件開發(fā)</b>

    汽車軟件開發(fā)流程介紹

    在汽車軟件開發(fā)中,軟件開發(fā)流程是軟件工程的核心,因為它們?yōu)?b class='flag-5'>軟件開發(fā)實踐“提供了一骨架并確保了它的嚴謹性”。
    發(fā)表于 08-15 12:03 ?1.4w次閱讀

    軟件開發(fā)外包有哪些坑要注意?

    提起軟件開發(fā)外包,大家并不陌生,因為很多企業(yè)已經(jīng)選擇了軟件外包,但是有人會說軟件開發(fā)外包就是坑,千萬別選擇軟件外包。 ? 其實
    的頭像 發(fā)表于 10-11 18:36 ?1325次閱讀

    軟件開發(fā)的流程和方法有哪些?

    軟件開發(fā)是根據(jù)客戶要求構(gòu)建出軟件系統(tǒng)或者系統(tǒng)中的軟件部分,一般是通過程序設(shè)計語言實現(xiàn)的,比如C/C++/JAVA/JSP/ASP等開發(fā)語言。軟件開發(fā)
    的頭像 發(fā)表于 12-27 10:56 ?1949次閱讀
    <b class='flag-5'>軟件開發(fā)</b>的流程和方法有哪些?

    安全軟件開發(fā)的最佳實踐

    安全的軟件開發(fā)最佳實踐是必要的,因為安全風險無處不在。在網(wǎng)絡(luò)攻擊盛行的時代,它們可以影響每個人,包括個人、公司和政府。因此,確保軟件開發(fā)的安全性至關(guān)重要。 在這里,我們將解釋了什么是安全軟件,如何確保
    的頭像 發(fā)表于 05-08 10:51 ?670次閱讀
    安全<b class='flag-5'>軟件開發(fā)</b>的最佳實踐

    軟件開發(fā)必讀!華為云軟件開發(fā)生產(chǎn)線 CodeArts 深度體驗指南

    77 日-9 日,隨著華為開發(fā)者大會 2023 的到來,華為云軟件開發(fā)生產(chǎn)線 CodeArts 也走進了很多開發(fā)者的視野。
    的頭像 發(fā)表于 08-25 13:43 ?1082次閱讀
    <b class='flag-5'>軟件開發(fā)</b>必讀!華為云<b class='flag-5'>軟件開發(fā)</b>生產(chǎn)線 CodeArts 深度體驗指南

    基于Android的應(yīng)用軟件開發(fā)實例初探

    電子發(fā)燒友網(wǎng)站提供《基于Android的應(yīng)用軟件開發(fā)實例初探.pdf》資料免費下載
    發(fā)表于 10-09 16:57 ?0次下載
    基于<b class='flag-5'>Android</b>的應(yīng)用<b class='flag-5'>軟件開發(fā)</b>實例初探

    嵌入式軟件開發(fā)軟件開發(fā)的區(qū)別

    嵌入式軟件開發(fā)軟件開發(fā)是兩不同的概念,它們在一些關(guān)鍵方面有著明顯的區(qū)別。嵌入式軟件開發(fā)是指開發(fā)嵌入在硬件設(shè)備中的
    的頭像 發(fā)表于 01-22 15:27 ?1786次閱讀