本文正在参加「金石计划」

翻译 + 修正自 proandroiddev.com/chatgpt-for…,原作者:Rafa Araujo

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

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

预备作业

拜访 ChatGPT

首先拜访官方的链接 chat.openai.com/chat,并创建一个账号。能够选择直接注册或是运用 Google、Microsoft 的现有账号。

整体的界面如下:

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

ChatGPT 账号默认会保存你和它的对话前史,便利你在其他会话里再次拜访这些记录。当然,如有需求,你也能够直接删去某个或多个对话前史。

运用前须知

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

在得到它的答复之后,也主张咱们去评价这个答复与所发问题的关联程度以及否适用,这对于咱们检查和优化发问内容非常重要。

别的,请记住 ChatGPT 能够支撑多种言语,假如你还不太熟悉英语,能够选择其他言语。

发问非常要害

与在查找引擎里输入要害字有所不同,在 ChatGPT 这里,你能够像和人交谈相同提出问题。只不过要确保问题内容尽或许多地包含详细信息。

尽量去防止提出那些主观的、模糊不清的、广泛的问题。

举个比方,假如你问它 “在 Android 上怎么实现注册界面”,那它的答复成果很有或许是怎么启动 Android 项目并创建 XML 格式的组件,而这些答复其实也同样含糊不清和广泛

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

因而,更好的做法是针对你想要的东西、必要的细节去提出愈加详细的问题。也不用忧虑问得太烦琐,包含的细节信息越多,ChatGPT 的答复将越准确。

如下的比方里,我弥补了技术细节和期待的详细东西。

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

能够看到,这次它给出的成果是按照发问要求供给了 Jetpack Compose 技术代码,而且是简直能够在 Android 项目中直接运用的程度。

已然咱们现已学会了怎么恰当地提出问题,那么下一关便是去了解、评价这个答案。

评价答复是否有用

查找引擎供给的成果里,通常你会在顶部看到一支广告,然后或许是赞助商供给的帖子以及你查找的第一个成果。咱们翻开第一个链接,往往会发现这不是自己想要的成果,这时候会有点忧虑又不忧虑,由于还有几十万页的成果等着去逐个确认。。。

ChatGPT 则不同于上面的情况,它永远不会说不知道,它总会给你一个答案。而这个答案或许是对的、也或许是错的。咱们面临这个唯一的答案,怎么正确地了解和区分,就显得至关重要。

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

运用上下文信息

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

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

如下的图能够看到:它的确只改写了 firstName 代码,其他代码和之前坚持了共同。

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

事例 1. 代码生成

如上所述,ChatGPT 是全能型东西,能够协助你处理很多范畴,包含软件开发者很关怀的代码生成。

虽然无法创建完整架构或是一个 App 的一切代码,但咱们能够将一个大的问题拆解成更小的问题。这样的话,ChatGPT 便能给你供给有用的协助。

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

除了供给代码,ChatGPT 也能解说代码能够见效的原因,这能够协助你更好地了解代码的详细逻辑。

必定要去仔细评价这些答复内容,如有必要,你能够继续恳求它改写、优化,以满足你的需求。

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

事例 2. 修正 Bug

你能够复制一个代码片段并询问 ChatGPT 是否包含任何 Bug 或过错,它能够针对代码质量进行反应,进而帮你定位出潜在的问题。这些反应包含:修正代码的主张、进步代码效率以及怎么防止一般的过错。

这将节省开发者在调试、测验代码上消耗的时刻和精力,协助咱们构建愈加牢靠、高效的软件。

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

假如供给的代码的确需求改善,那么 ChatGPT 会向你解说或许会产生什么过错以及主张的解决办法。

⚠️共享代码的留心⚠️

代码归于公司的知识产权,而非员工个人。假如没有获得更高级别的答应,就将其共享给 ChatGPT 或许会产生违规。

除此之外,AI 能够拜访和存储灵敏信息。假如员工们拜访了这些东西,他们或许在不经意间将信息传递给了 AI,形成安全违约和其他严重后果。

再恶劣一点的,假如黑客们侵略了这些东西,那么公司信息必将产生泄露。

所以,在给 ChatGPT 或其他 AI 东西共享灵敏信息前,务必慎重考虑这些危险。

事例 3. 写单元测验

当然你也能够在复制代码后问 ChatGPT 是否能够生成 Unit test 来查验该函数功用。ChatGPT 能够指引你完成 Unit test 的最佳实践,以及主张你怎么重构代码去愈加容易地进行测验。

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

和上述进程相同,它将返回 Unit test 代码并解说这些测验代码怎么运行的。

事例 4. 写文档阐明

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

如下图所示,咱们能够指定代码言语和规则。

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

事例 5. 解说代码逻辑

经过前面的章节,咱们知道 ChatGPT 在生成代码的一起会进行解说。自然而然地,你也能够直接让他解说某段代码,帮你理清其逻辑。

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

事例 6. 解说概念

概念类、架构类、东西类以及日常作业中或许遇到的问题,ChatGPT 都能够答复,能够放心大胆地发问。

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

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

其实,咱们能够问它任何问题,只不过本篇文章侧重于论述 ChatGPT 对于 Android 软件开发的协助。

事例 7. 协助你求职

很多人没想到 ChatGPT 乃至能协助你找作业:比方你能够问它怎么预备面试中的常见问题。

尽或许开动你的脑筋、好好使用它,让你愈加充分地预备面试。

使用 ChatGPT 改善 Android 开发效率的 7 个案例~

再次提醒:时刻留心 ChatGPT 答复的牢靠性、准确性。

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

所以坚持评价它给出的成果,不可尽信。

结语

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

1. 卡顿、不稳定

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

2. 存在付费版别

ChatGPT 供给了每月 20$ 的付费版别,让你能够获得更快的呼应、而且即使很多人一起拜访也不会影响你的运用。究竟你要知道:官方可没确保未来会继续供给免费版别。

3. 缺少牢靠性

如前面章节所述,ChatGPT 会答复任何发问,答案或许是正确的、也或许是过错的。所以,要害在于评价这些答复。但是即使结合你的经验,你也或许忽视掉 ChatGPT 答复中的过错。所以最佳做法是把它当作你的帮手,灵敏地控制解决方案,怎么决议计划在于你自己。

4. 缺少最新数据

ChatGPT 是根据海量信息练习的聊天机器人,而且练习不是即时的。举个比方,它或许不知道 Kotlin、Android 最新的更新内容,亦或最新的 Google IO 大会产生了什么。

免费版的 ChatGPT 最新练习数据截止到 2021 年 9 月。

5. 只能输入纯文本

当前 ChatGPT 还不支撑上传文件,所以想让它 review 代码的话,你得复制代码片段,究竟单个发问的文字长度被约束在 1000 个以内。

别的,它也不能像 Markdown、Slack 那样,能够经过引号来格式化代码,开发者只能用纯文本格式向 ChatGPT 发问。

6. 缺少安全性

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

所以,切勿发送机密信息

最终的最终

综上能够看到,ChatGPT 极有或许彻底改变开发者们的作业方式。虽然存在牢靠性、呼应速度、最新数据等局限性,ChatGPT 依旧能够大大进步咱们的生产力、改善咱们的开发时刻。

倒也不用忧虑 ChatGPT 会盗取咱们的作业,由于从别的角度来说,这个东西的确能够给开发者供给非常有价值的支撑、促使日常作业愈加高效、协助咱们摆脱重复繁琐的使命。。。

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