0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用ChatGPT来促进Android软件开发的7个案例

哆啦安全 来源:TechMerger 作者:TechMerger 2023-04-21 09:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ChatGPT 是由 OpenAI 公司创造的自然语言处理工具,对那些想要提高技能的软件开发人员来说,它绝对是不容错过的重要利器。

本文将展示使用 ChatGPT 来促进 Android 软件开发的7个案例,你会发现凭借其易用性和定制功能,ChatGPT 能够大大提高软件开发人员的绩效表现。

准备工作

访问 ChatGPT

首先访问官方的链接,并创建一个账号。可以选择直接注册或是使用 Google、Microsoft 的现有账号。

整体的界面如下:

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

ChatGPT 账号默认会保留你和它的对话历史,方便你在其他会话里再次访问这些记录。当然,如有需要,你也可以直接删除某个或多个对话历史。

使用前须知

想要有效使用 ChatGPT,有一点非常重要:应当使用编程领域的专业术语,制定出清晰的、客观的提问内容。

在得到它的回答之后,也建议大家去评估这个回答与所提问题的关联程度以及否适用,这对于我们检查和优化提问内容非常重要。

另外,请记住 ChatGPT 可以支持多种语言,如果你还不太熟悉英语,可以选择其他语言。

提问十分关键

与在搜索引擎里输入关键字有所不同,在 ChatGPT 这里,你可以像和人交谈一样提出问题。只不过要确保问题内容尽可能多地包含详细信息。

尽量去避免提出那些主观的、模糊不清的、宽泛的问题。

举个例子,如果你问它 “在 Android 上如何实现注册界面”,那它的回答结果很有可能是如何启动 Android 项目并创建 XML 格式的组件,而这些回答其实也同样含糊不清和宽泛

因此,更好的做法是针对你想要的东西、必要的细节去提出更加具体的问题。也不用担心问得太啰嗦,涵盖的细节信息越多,ChatGPT 的回答将越准确。

如下的例子里,我补充了技术细节和期待的具体东西。

可以看到,这次它给出的结果是按照提问要求提供了 Jetpack Compose 技术代码,而且是几乎可以在 Android 项目中直接使用的程度。

既然大家已经学会了如何恰当地提出问题,那么下一关就是去理解、评估这个答案。

评估回答是否有用

搜索引擎提供的结果里,通常你会在顶部看到一支广告,然后可能是赞助商提供的帖子以及你搜索的第一个结果。我们打开第一个链接,往往会发现这不是自己想要的结果,这时候会有点担心又不担心,因为还有几十万页的结果等着去一一确认。。。

ChatGPT 则不同于上面的情况,它永远不会说不知道,它总会给你一个答案。而这个答案可能是对的、也可能是错的。我们面对这个唯一的答案,如何正确地理解和辨别,就显得至关重要。

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

运用上下文信息

如果 ChatGPT 没能正确地、完整地作出回答,你可以针对目标答案提供更多信息、随时再问一遍。ChatGPT 本身会维护问题之间的上下文信息,所以它能够明白你在讨论什么。

举个例子,让 ChatGPT 改写上面的代码:将变量firstName改为completeName

如下的图可以看到:它确实只改写了firstName代码,其他代码和之前保持了一致。

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

案例 1. 代码生成

如上所述,ChatGPT 是全能型工具,可以帮助你处理很多领域,包括软件开发者很关心的代码生成。

尽管无法创建完整架构或是一个 App 的所有代码,但我们可以将一个大的问题拆解成更小的问题。这样的话,ChatGPT 便能给你提供有用的帮助。

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

除了提供代码,ChatGPT 也能解释代码能够奏效的原因,这可以帮助你更好地理解代码的具体逻辑。

一定要去仔细评估这些回答内容,如有必要,你可以继续请求它改写、优化,以满足你的需要。

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

案例 2. 修改 Bug

你可以拷贝一个代码片段并询问 ChatGPT 是否包含任何 Bug 或错误,它可以针对代码质量进行反馈,进而帮你定位出潜在的问题。这些反馈包括:修改代码的建议、提高代码效率以及如何避免一般的错误。

这将节省开发者在调试、测试代码上耗费的时间和精力,帮助我们构建更加可靠、高效的软件。

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

如果提供的代码确实需要改善,那么 ChatGPT 会向你解释可能会发生什么错误以及建议的解决办法。

分享代码的注意

代码属于公司的知识产权,而非员工个人。如果没有获得更高级别的许可,就将其分享给 ChatGPT 可能会产生违规。

除此之外,AI 能够访问和存储敏感信息。如果员工们访问了这些工具,他们可能在不经意间将信息传递给了 AI,造成安全违约和其他严重后果。

再恶劣一点的,如果黑客们入侵了这些工具,那么公司信息必将发生泄露。

所以,在给 ChatGPT 或其他 AI 工具分享敏感信息前,务必谨慎考虑这些风险。

案例 3. 写单元测试

当然你也可以在拷贝代码后问 ChatGPT 是否可以生成 Unit test 来检验该函数功能。ChatGPT 可以指引你完成 Unit test 的最佳实践,以及建议你如何重构代码去更加容易地进行测试。

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

和上述过程一样,它将返回 Unit test 代码并解释这些测试代码如何运行的。

案例 4. 写文档说明

ChatGPT 也能够为现有的代码生成文档说明。

如下图所示,我们可以指定代码语言和规则。

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

案例 5. 解释代码逻辑

通过前面的章节,我们知道 ChatGPT 在生成代码的同时会进行解释。自然而然地,你也可以直接让他解释某段代码,帮你理清其逻辑。

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

案例 6. 解释概念

概念类、架构类、工具类以及日常工作中可能遇到的问题,ChatGPT 都可以解答,可以放心大胆地提问。

如下图,我们让它解释 Android 平台上 Activity 和 Fragment 的区别。

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

其实,我们可以问它任何问题,只不过本篇文章侧重于阐述 ChatGPT 对于 Android 软件开发的帮助。

案例 7. 帮助你求职

很多人没想到 ChatGPT 甚至能帮助你找工作:比如你可以问它如何准备面试中的常见问题。

尽可能开动你的脑筋、好好利用它,让你更加充分地准备面试。

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

再次提醒:时刻留意 ChatGPT 回答的可靠性、准确性。

比如上面的例子,我们问它“我要面试初级 Android 开发者职位,有哪些需要准备的常见问题?”,它在回答中提到的部分组件(比如 AsyncTask、LinearLayout 和 RelativeLayout)现在已经不怎么考察了,有些过时了。

所以保持评估它给出的结果,不可尽信。

结语

确实,ChatGPT 有助于提高开发者的生产力,但必须认识到它存在一些局限性,这很重要。

1. 卡顿、不稳定

如果很多人同时访问,免费版的 ChatGPT 会变得很卡、甚至完全用不了,这时候你得手动刷新页面、碰碰运气。

2. 存在付费版本

ChatGPT 提供了每月 20$ 的付费版本,让你能够获得更快的响应、并且即便很多人同时访问也不会影响你的使用。毕竟你要知道:官方可没保证未来会持续提供免费版本。

3. 缺乏可靠性

如前面章节所述,ChatGPT 会回答任何提问,答案可能是正确的、也可能是错误的。所以,关键在于评估这些回答。可是即便结合你的经验,你也可能忽视掉 ChatGPT 回答中的错误。所以最佳做法是把它当作你的助手,灵活地控制解决方案,如何决策在于你自己。

4. 缺乏最新数据

ChatGPT 是基于海量信息训练的聊天机器人,并且训练不是即时的。举个例子,它可能不知道 Kotlin、Android 最新的更新内容,亦或最新的 Google IO 大会发生了什么。

5. 只能输入纯文本

当前 ChatGPT 还不支持上传文件,所以想让它 review 代码的话,你得拷贝代码片段,毕竟单个提问的文字长度被限制在 1000 个以内。

另外,它也不能像 Markdown、Slack 那样,可以通过引号来格式化代码,开发者只能用纯文本格式向 ChatGPT 提问。

6. 缺乏安全性

ChatGPT 是 OpenAI 公司推出的工具,它利用网络信息投喂其数据库,这也包括你在对话中发送的内容。

所以,切勿发送机密信息

最后的最后

综上可以看到,ChatGPT 极有可能彻底改变开发者们的工作方式。尽管存在可靠性、响应速度、最新数据等局限性,ChatGPT 仍旧可以大大提高我们的生产力、改善我们的开发时间。

倒也不必担心 ChatGPT 会窃取咱们的工作,因为从别的角度来说,这个工具确实可以给开发者提供非常有价值的支持、促使日常工作更加高效、帮助大家摆脱重复繁琐的任务。。。

倘若能将 AI 人工智能和人类的创造性、技能完美结合,那么未来的软件开发将变得极为高效和超乎想象!


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3985

    浏览量

    133059
  • XML
    XML
    +关注

    关注

    0

    文章

    188

    浏览量

    34391
  • AI
    AI
    +关注

    关注

    89

    文章

    38091

    浏览量

    296589
  • OpenAI
    +关注

    关注

    9

    文章

    1238

    浏览量

    9813
  • ChatGPT
    +关注

    关注

    31

    文章

    1596

    浏览量

    10072

原文标题:使用ChatGPT改善Android开发效率的7个案例

文章出处:【微信号:哆啦安全,微信公众号:哆啦安全】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    软件开发(手机开发 网络多媒体 linux开发 android开发

    或者相关专业;5年以上软件开发经验,优先考虑具有嵌入式系统开发以及Android系统开发经验的候选人; 2、具有良好的项目管理和开发团队管理
    发表于 12-13 17:23

    上海率众招android软件开发工程师,月薪两万!——电子圈

    android软件开发工程师月薪15000~20000城市: 上海市学历: 本科经验: 1年行业: 通信与网络公司: 上海率众信息科技有限公司职位描述:岗位职责: 1. Android手机应用
    发表于 07-15 09:34

    RK3288 Android7.1软件开发指南分享,绝对实用

    RK3288 Android7.1软件开发指南分享,绝对实用
    发表于 03-04 07:39

    谷歌发布针对Android2.2操作系统的软件开发工具包Fr

    北京时间7月12日,据国外媒体报道,谷歌发布了针对Android2.2操作系统的软件开发工具包(SDK),名为Froyo,该工具可支持在外部存储设备上,比如SD卡,安装应用程序,这可以让用户
    发表于 07-12 08:46 1293次阅读

    ARM嵌入式软件开发

    ARM嵌入式软件开发ARM嵌入式软件开发ARM嵌入式软件开发
    发表于 01-15 17:29 65次下载

    CFD软件开发的三阶段

    本白皮书结合历史背景分析探讨了产品开发用商业 CFD 软件开发所经历的三阶段,并讨论和展望了未来开发所面临的挑战和机遇。
    发表于 09-11 14:53 11次下载
    CFD<b class='flag-5'>软件开发</b>的三<b class='flag-5'>个</b>阶段

    Linux软件开发环境

    Linux软件开发环境介绍。
    发表于 03-25 15:46 7次下载
    Linux<b class='flag-5'>软件开发</b>环境

    基于模型的嵌入式软件开发

    对工具的分类和资质审核通过认证的方式发放证书应对复杂系统时,软件开发人员的工作效率在降低解决复杂软件开发效率低下的路径:模块化开发 (一复杂的系统包含很多模块,每个模块都比较简单,这
    发表于 11-03 11:21 9次下载
    基于模型的嵌入式<b class='flag-5'>软件开发</b>

    汽车软件开发流程介绍

    在汽车软件开发中,软件开发流程是软件工程的核心,因为它们为软件开发实践“提供了一骨架并确保了它的严谨性”。
    发表于 08-15 12:03 1.6w次阅读

    软件开发外包有哪些坑要注意?

    提起软件开发外包,大家并不陌生,因为很多企业已经选择了软件外包,但是有人会说软件开发外包就是坑,千万别选择软件外包。   其实
    的头像 发表于 10-11 18:36 2015次阅读

    软件开发的流程和方法有哪些?

    软件开发是根据客户要求构建出软件系统或者系统中的软件部分,一般是通过程序设计语言实现的,比如C/C++/JAVA/JSP/ASP等开发语言。软件开发
    的头像 发表于 12-27 10:56 2811次阅读
    <b class='flag-5'>软件开发</b>的流程和方法有哪些?

    安全软件开发的最佳实践

    安全的软件开发最佳实践是必要的,因为安全风险无处不在。在网络攻击盛行的时代,它们可以影响每个人,包括个人、公司和政府。因此,确保软件开发的安全性至关重要。 在这里,我们将解释了什么是安全软件,如何确保
    的头像 发表于 05-08 10:51 1569次阅读
    安全<b class='flag-5'>软件开发</b>的最佳实践

    软件开发必读!华为云软件开发生产线 CodeArts 深度体验指南

    77 日-9 日,随着华为开发者大会 2023 的到来,华为云软件开发生产线 CodeArts 也走进了很多开发者的视野。
    的头像 发表于 08-25 13:43 2021次阅读
    <b class='flag-5'>软件开发</b>必读!华为云<b class='flag-5'>软件开发</b>生产线 CodeArts 深度体验指南

    基于Android的应用软件开发实例初探

    电子发烧友网站提供《基于Android的应用软件开发实例初探.pdf》资料免费下载
    发表于 10-09 16:57 0次下载
    基于<b class='flag-5'>Android</b>的应用<b class='flag-5'>软件开发</b>实例初探

    嵌入式软件开发软件开发的区别

    嵌入式软件开发软件开发是两不同的概念,它们在一些关键方面有着明显的区别。嵌入式软件开发是指开发嵌入在硬件设备中的
    的头像 发表于 01-22 15:27 3664次阅读