Hello 大家好!
上周五晚,「豆包MarsCode AI 编程云课堂」 专为编程小白准备了干货满满的课程《从零开始理解 AI 编程》,全网观看人数破万,收获了小伙伴们的一致好评,在此感谢大家对我们课程的关注。
想要学习 AI 编程,就要首先理解编程,本次课程分享由拥有7年开发者经验的大圣老师为大家带来,内容源自于他的开源 AI 编程基础教程,欢迎大家收藏阅读并转发给身边想入门 AI 编程的朋友们!
课程介绍
「豆包MarsCode AI 编程云课堂」 正同步进行中,本课程由字节豆包MarsCode 官方出品,每周1节课,1h 带领大家感受 AI 编程的快乐!
活动全程免费,复制如下链接或点击「阅读原文」即可马上参与报名哦: https://zjsms.com/iBKWN1t6/ 。
【🌟 课程预告】
本周四晚 20:00-21:00 《如何用AI快速搭建个人社交卡片》
话不多说,进入我们今天的保姆级 AI 编程基础总结吧!
01
引言
"我这个编程小白,真的能学会 AI 编程吗?"
在传统编程时代,学习编程确实不太容易。我们往往需要记忆各种语法规则,理解复杂的概念,敲无数的代码...
但是现在不一样了!
AI 正在逐渐降低编程的门槛,你不需要成为专业的程序员,也能用编程来实现自己的想法。
谁适合学习 AI 编程
1.传统开发者
已经是程序员的朋友无疑是最适合学习 AI 编程的群体了。利用 AI 编程,你可以:
- 把重复性的编码工作交给豆包MarsCode 等 AI 助手,自己专注在更有价值的设计工作上;
- 用 AI 工具辅助进行性能分析,代码框架,避免写出屎山代码;
- 在技术快速发展的今天,尽早掌握 AI 编程也是保持竞争力的重要方式。
2.产品经理
在我接触过的产品经理中。很多人都在为相似的问题困扰:
- 想法很好,但总是难以快速验证;
- 静态的原型稿无法帮助表达自己的产品框架;
- 总是被技术的方案牵着鼻子走。
学会 AI 编程后,你将能做更多事情:
- 有了新想法,可以直接用扣子等平台快速做出一个简单 demo,用实际效果来验证想法;
- 在跟技术团队沟通时,能更好地理解技术可行性,设计出更实用的功能;
- 产品原型不再局限于静态界面,可以直接用豆包MarsCode 等 AI 工具生成可交互的演示版本。
3.交互设计师
设计师朋友们应该都有这样的经历:辛苦设计的交互方案,在实现开发时总是差强人意。别担心,学习 AI 编程能帮助设计师们为设计工作带来更多新的可能:
- 可以自己动手做出简单的交互原型,让产品和技术同事直观体验设计理念;
- 理解技术实现的过程,设计方案更接地气;
- 用动态演示替代静态原型,让每个人都能准确理解你的设计意图。
4.宝爸宝妈
“我的孩子才6岁,但对编程很感兴趣。哪种编程语言会比较适合小朋友学习呀?”在 AI 时代,孩子学习编程的方式也可以变得更有趣。
建议各位宝爸宝妈们可以这样做:
-
不用着急让孩子学习具体的编程语言,可以先用像扣子这样的平台培养编程思维;
-
让孩子发挥想象力,逐步用 AI 工具把天马行空的想法变成现实;
-
如果有时间,家长也可以一起学习,这将是陪伴孩子成长的绝佳方式。
本次课程面向的对象
这门课程主要面向两类学习者(PS:本节内容会偏向于编程新人)
1.编程新人
如果你是编程新人,请记住:
- 这节课的目标不是把你变成程序员,而是教会你利用 AI 来实现想法;
- 课程会用最通俗的语言解释编程概念;
- 这是一个循序渐进的过程,不要期待一蹴而就;
- AI 编程不同于 AI 绘画、写作,需要持续学习和积累。
2.传统开发者
如果你已经是程序员,就让我们带你初步了解豆包MarsCode 这个开发效率神器,帮你掌握 AI 辅助开发的技巧。
学习 AI 编程的平台
我们将 AI 编程学习分为两个阶段,并给大家推荐下适合小白入门和进阶的学习平台和工具。
第一阶段:新手期
对于不清楚编程基本概念的同学,推荐使用字节的扣子智能体平台进行学习。
在搭建智能体工作流的过程中,你会使用插件节点、数据库节点、变量节点等,这些节点都蕴含着编程的概念,但是又不需要你编码。在实践的过程中就能将这些概念掌握。同时,当你进阶到一定程度,扣子中也会有代码节点让你体验一把写功能性代码的成就感。
第二阶段:实战期
当有了 AI 编程的基础后,想使用代码开发一个完整的应用时,推荐你使用豆包MarsCode。
当到了开发完整应用的阶段,你往往需要编写多个函数或多个代码文件,使用豆包MarsCode 可以大大提高你的开发效率。
遇到问题怎么办
不论是小白还是资深开发者,都难免会遇到很多问题。这时只需记住一句话:遇事不决问 AI!
看不懂代码时可以让唤起 AI 帮你逐行解释,代码报错时可以将错误信息给到 AI 帮你分析,概念不理解时 AI 也可以用类比帮你详细解释。
我们是 AI 编程,不是传统编程,要善于利用大模型的强大能力!
02
编程是什么
不管是传统编程,还是 AI 编程,我们都需要了解编程是什么。
为什么会有编程
想象你在教一个特别听话的助手做事,但这个助手有如下几个特点:
- 非常准确,但有点"死板"
- 只会按照指令行事
- 需要非常清晰的步骤说明
这个助手就是计算机,而编程就是告诉计算机具体该怎么做事的过程。所以编程的核心目的就是:指挥计算机按照人类的意愿行事,解决人类的特定问题。
编程语言
编程是给计算机下达指令的过程。那么,计算机该如何听懂我们的指令呢?这就引出了一个关键概念:编程语言。
编程语言种类繁多。常见的有:Python、Java、C++、JavaScript等。
想象这样一个场景:你的领导说:“XXX,今晚加班把这个任务完成”,你说:“好咧” 。在上述语境中,你的领导就是程序员,而你就是计算机,你的领导通过一句话就让你乖乖把活干了。
程序员给计算机下达指令的过程也是一样的。
每种语言都有其特定的应用场景和优缺点。如果你还没有接触过任何一门编程语言,建议你直接选择 Python!
IDE 以及插件
IDE 全称:“集成开发环境”。
- Integrated(集成):意味着它将多种开发工具整合到一个应用程序中;
- Development(开发):表明它是为软件开发而设计的;
- Environment(环境):指的是它提供了一个完整的工作空间,用于编写、测试和部署软件。
IDE 是专业软件开发工程师的必备武器,它是一个将多种编程工具和功能集成在一起的软件开发环境,旨在提高程序员的工作效率和便利性。简单来讲:IDE 就是程序员写代码的地方,就和你用 Word 写文档一样。
你为什么不用 txt,而是用 Word 写文档?因为 Word 功能强大,可以加粗,斜体,区分正文和标题等。
同理,程序员也不用 txt 写代码,而是使用配套了各种方便程序员写代码的 IDE 工具。
而再强大的 IDE 都难以满足所有开发者的需求,于是便有了插件的诞生,用以扩展或者增强 IDE 的功能。就好比你的手机已经有了拍照的能力,但你还是要下载一个美颜相机一样。
字节豆包MarsCode 就是一款基于 IDE 的编程助手,能够帮助开发者大幅提高开发效率。
了解了编程是什么之后,我们正式进入编程基础概念的学习。
03
编程的基础概念
了解编程的基本概念,是你和 AI 有效沟通的基础。即使是最先进的 AI 也可能犯错,如果你对编程一无所知,你可能无法识别 AI 生成的代码中的错误或不合理之处。
基本的编程知识能让你成为一个更好的"把关人",确保最终的结果符合你的预期。
编程语言
首先我们需要了解一门语言的基础语法,这里我推荐 Python(编程语言了解一种即可,各种语言都是相通的,以后就算有了更高级的语言,只会学习起来更简单)。
学习的过程中请千万注意:
不要陷入到学习中无法自拔,尤其是Python,花3个小时了解基础即可,其余的时间要以练带学。
变量:程序中的“容器”
在编程语言的概念中,变量是非常重要的概念。
🌰变量在编程中充当数据传递的媒介。具体来说,变量的主要作用可以分为两个阶段:
1.存储数据:将数据存储在变量中,使数据有一个名字标识,可随时访问和修改。
2.引用数据:通过变量名来引用或使用存储的数据,从而在不同的地方或不同的时间点进行数据传递和操作。
我用一个例子来解释变量的作用:想象你有一个带标签的储物盒,这就是"变量":
1.盒子可以存放东西(数据)
2.标签上写着名字(变量名)
3.你可以随时更换盒子里的东西(修改数据)
下面这段代码可以简单的展示下变量的内容:
# 创建一个名叫"age"的储物盒,放入数字18
age = 18
# 创建一个名叫"name"的储物盒,放入文字"小明"
name = "小明"
# 可以随时查看盒子里的内容
print(f"{name}今年{age}岁") # 输出:小明今年18岁
# 可以随时更换盒子里的内容
age = 19 # 把age盒子里的18换成19
print(f"{name}明年{age}岁") # 输出:小明明年19岁
我们说变量是用来承载数据的,那么数据又有哪几种类型呢?
数据类型:不同的“物品类型”
就像现实生活中的物品有不同类型:
- 文字(String):"你好","Python"
- 数字(Number):整数(1, 2, 3)或小数(3.14)
- 真假(Boolean):对/错,是/否
- 列表(List):[苹果, 香蕉, 橙子]
- 字典(Dictionary):{姓名: 小明, 年龄: 25}
其中列表和字典是 Python 中的概念,他们还可以被称作:JSON。
我这里称之为复杂的数据类型,后面相对难学的也是这部分内容。
JSON 可以长如下这样:
{
"name": "大圣",
"age": 18,
"city": "杭州"
}
或者这样:
[ { "name":"大圣", "age":18, "city":"杭州" }, { "name":"艾木", "age":16, "city":"深圳" } ]
学习 JSON 就类似于学习一门简单的语法,在学习 JSON 时需要我们记住两点:
1.JSON 跟我们的电脑文件夹结构很像,是一个树状结构,可以层层嵌套。
2.JSON 与编程语言无关,不同编程语言都认识 JSON,就像英语是通用的国际语言。
控制流程:程序的决策与重复
条件判断(if-else)
类似于生活中的决策。比如,你早上起床时查看天气:如果下雨,则带伞;否则,带太阳镜。
用代码实现如下:
# 下雨决策
if is_raining:
take_umbrella()
else:
wear_sunglasses()
循环(for/while)
重复做某件事情
- for循环
想象你有几个朋友,想给他们发一个生日祝福。你可以使用循环来一次性给每个朋友发送消息。
就是微信中的群发能力:
friends = ["小明", "小红", "小刚"]
for friend in friends:
print("祝", friend, "生日快乐!")
- while循环
假设你想每天都进行锻炼,直到减肥十斤。这种情况下,使用 while 循环会更合适:
currentWeight = 100 # 当前的体重
goalWeight = 90 # 目标体重
while currentWeight > goalWeight:
print("今天锻炼!")
currentWeight--;
print("恭喜!你完成了锻炼")
函数
函数是编程中非常重要的一个概念。简单来说,函数就是一段可以重复使用的代码。
函数就好比日常生活中的功能模块。假设你是会计,你每天都要做各种加减乘除。为了方便,你购买了一个计算器,这个计算器就相当于一个函数:
-
你输入数字(输入)
-
计算器内部进行计算(处理过程)
-
显示计算结果(输出)
来看一个简单的代码例子:
# 定义一个简单的计算器函数
def calculator(num1, num2, operation):
if operation == "+":
return num1 + num2
elif operation == "-":
return num1 - num2
elif operation == "*":
return num1 * num2
elif operation == "/":
return num1 / num2
# 使用这个计算器函数
result1 = calculator(10, 5, "+")
print(f"10 + 5 = {result1}") # 输出:10 + 5 = 15
result2 = calculator(10, 2, "*")
print(f"10 * 2 = {result2}") # 输出:10 * 2 = 20
函数的主要作用:
-
代码复用:把经常要用到的代码打包成函数,避免重复写同样的代码;
-
模块化:把复杂的问题拆分成小函数,让代码更容易理解和维护;
封装细节:使用函数的人不需要知道内部具体是怎么实现的,只需要知道怎么用。
在实际开发中,一个程序往往会包含很多个函数,每个函数负责处理特定的任务。
就像你的办公桌上可能除了计算器,还有打印机、扫描仪等不同的工具,每个工具都专注于完成特定的工作。
理解函数并不需要你立刻就能写出完美的函数。关键是要明白函数的基本概念 - 它就是一个能重复使用的功能模块,给定输入,经过处理后,产生特定的输出。
04
编程的思维模型
输入-处理-输出框架
在编程中有一个朴实但非常实用的框架:输入-处理-输出。
这个框架跟传统编程和 AI 编程都没有关系,它是一个共性的东西。理解了这个框架,你会发现阅读代码还挺简单的
我们用做菜来举个例子:
1.输入:准备的食材;
2.处理:具体的烹饪步骤;
3.输出:最终的菜品。
用代码来表达这个过程:
def cook_dish(ingredients): # 输入:食材
# 处理:烹饪步骤
if not check_ingredients(ingredients): # 检查食材是否齐全
return "食材不足"
prepared = prepare_ingredients(ingredients) # 处理食材
cooked = cooking_process(prepared) # 烹饪过程
return cooked # 输出:完成的菜品
这个框架为什么重要,因为到后面你会发现你在用 AI 帮你代码的时候,你要清晰的定义好输入和输出,而 AI 着重帮你搞定的则是处理的逻辑。
模块化拆分
你可能会问:"一个像豆包MarsCode 这样复杂的软件,也遵循这个框架吗?"
是的,一个有经验的程序员,会将复杂的功能拆解成多个模块。而每个模块都遵循着输入-处理-输出的框架。
假设我们写一篇公众号,虽然流程有些复杂,但是可以拆分成如下几个模块:
1.选题模块
输入:当下相关领域的热点新闻
处理:根据某种规则进行处理
输出:本次的选题
2.内容生成模块
输入:文章大纲和选题
处理:AI
输出:每一章的内容
3.封面生成模块
输入:文章摘要 & 选题
处理:AI
输出:封面图片
……
流水线组装
当确定了每个模块(函数)之后,我们就可以像流水线一样将这些模块串起来组成一个功能。
什么是流水线?
1.第一个工作台(函数A)处理原材料,完成后把半成品放在周转箱(变量)里;
2.下一个工作台(函数B)拿到周转箱里的半成品,根据产品类型(if条件)选择不同的加工方式,有时需要重复加工几次(循环);
3.就这样一个工作台接着一个工作台,最终制造出成品。
我们用 AI 写公众号文章的例子来理解流程:
def generate_article(hotNews):
# 第一个函数:选题
topic = generate_topic(hotNews) # 输入热点新闻,输出选题
# 第二个函数:生成大纲
outline = generate_outline(topic) # 输入topic,输出outline
# 第三个函数:根据大纲生成内容
content = generate_content(outline) # 输入outline,输出content
# 第四个函数:生成摘要
summary = generate_summary(content) # 输入content,输出summary
# 第五个函数:生成封面
post = generate_post(summary) # 输入summary,输出post
# 最终的文章包含这些部分
article = {
"topic": topic,
"outline": outline,
"content": content,
"summary": summary,
"post": post
}
return article
模块复用
当你理解了上面的概念,就会明白为什么程序员总是强调"模块复用"。
乐高积木就是典型的模块复用思想,通过一个个基础的小模块不同的组合,可以搭建出各式各样的作品。
扣子中的插件是模块复用的一种体现,Github 上的一些开源库也是模块复用的体现,理解了这些思维模型,你再看那些复杂的代码,就会发现它们无非是这些基本概念的组合,阅读代码也不再那么复杂可怕。
这些思维模型不仅适用于编程,在我们解决日常问题时也很有用。因为它们本质上是一种解决问题的方法论。
05
编程的进阶概念
了解了编程的基础概念和思维模型之后,我们就掌握了阅读代码的基础。接下来我们需要了解三个跟代码不直接相关,但是在编程侧很重要的3个概念:
跟外部程序交互:API接口
在 AI 编程中,有一个非常重要的场景,就是获取外部的数据。例如,需要实时获取当前的天气;需要在代码中引入豆包大模型的能力等。
这时候我们就需要学习一个叫做 API 的概念,API 的全称是应用程序接口。
我们先来理解下什么是接口,我换个方式来说:接口人。
当你因为工作需要和一个人谈业务,但是对方不想直接跟你见面,所以对方指定一个接口人来传递消息,然后你所有信息的传达都是通过这个接口人来完成的。
接口人是用来人和人之间传递信息的,那么 API(应用程序接口)就是用来和应用程序进行传递信息的。
那么应用程序又是什么呢?
- 豆包就是个应用程序
- 你用的各种软件都是应用程序
谁会和应用程序进行通信呢?
- 人可以和应用程序通信
- 其他应用程序也可以和应用程序通信
什么情况下需要和应用通信通信呢?
当你需要从某个应用程序获取数据的时候,我举个例子:你搭建了一个网站,想要实时显示当前的天气,那这个天气信息需要从气象局来,于是你发现气象局对外提供了一个 API,你每次调用都可以获取当前最新的天气信息,只要你的网站接入了这个 API,你就可以随心所欲的给你的用户展示天气信息。
为什么在编程领域,API 是一个非常重要的概念呢?
我们应该知道 ChatGPT 刚火的时候,国内也出现了好多的平台号称可以和付费使用的 ChatGPT 有相似的能力,这个就是我们说的套壳软件。这些平台肯定没有自己的大模型,他们只是接入了 ChatGPT 的 API 接口,甚至接入的都不一定是 ChatGPT 的能力。
还有各种你在微信上见到的小程序,大多数的底层都是接入了一些开源或者付费的 API ,然后进行简单的前端页面包装就成为一个新产品。
所以如果你对 API 有一定的认知和了解,理论上来说你就可以通过像搭积木一样配合各种 API 组装出你的产品,现在好多创业公司也是这么做的。
数据存储
在一个正式运行的程序中,基本都离不开数据的存储,例如用户的账号密码、个人信息等都是需要进行数据存储的。
这个时候,你需要了解一个叫做数据库的概念。数据库就像是一个电子化的档案室,你可以:
- 安全地保管数据(比如用户密码会被加密存储)
- 方便地查找数据(像在 Excel 里快速找到某个信息)
- 随时更新数据(比如修改个人资料)
- 保证数据的可靠性(不会轻易丢失或损坏)
PS:新人接触数据库的时候就可以类比 Excel,或者飞书的多维表格。
应用部署
我们写代码的目的基本都是为了构建一个具有某个特定功能的程序,可能是 APP 也可能是一个网站,而将你的代码变成可运行的应用程序,这个环节就叫做部署。
当我们在电脑上写完代码后,这些代码目前只能在你自己的电脑上运行。如果想让其他人也能使用你开发的程序,你需要把代码部署到服务器上。
服务器,简单来说就是一台24小时运行的计算机。
最常见的就是云服务器,比如阿里云、腾讯云提供的服务器。它们就像是租用的一台远程电脑,你可以把你的代码放到上面运行。
比如:一直很火的微信自动回复机器人,就是将代码部署在一台云服务器上,然后24小时提供服务。
部署的一般流程:
- 选择一个云服务器
- 在服务器上安装需要的环境(比如 Python )
- 把代码上传到服务器
- 让代码在服务器上运行起来
PS:对于非程序员来讲,部署最好有手把手的教程,否则你会很痛苦....
06
拥抱 AI 编程
上面我们花费大量篇幅讲解了编程的基础概念,目的是帮助大家快速入门。
接下来我们终于进入到 AI 编程,我们首先需要对 AI 的特点有一个认知:
- 它很强大,但需要清晰的指令;
- 它很聪明,但需要正确的引导;
- 它能写代码,但需要你说清楚要做什么。
从执行者到方案设计
在 AI 编程时代,我们的角色发生了转变:
过去,我们是代码的"执行者",专注于如何实现功能;现在,我们是方案的"设计师",专注于想要实现什么功能。
就像建筑师和建筑工人的区别:建筑工人关注如何砌墙、怎么打地基,建筑师关注建筑的整体设计、功能分区、美观程度。
我们不再需要掌握所有的编程细节,一些诸如语法之类的,随用随学即可。
但是我们仍要专注于理解编程的基本概念,明白代码实现的可能性,学会如何描述和拆解需求。
AI 编程的核心技能
AI 编程时代,最重要的技能不再是写代码,而是结构化思维和清晰的描述需求。
结构化思考让你可以自上而下思考,而清晰的描述需求则可以更好地指导 AI 做事,两者缺一不可。
结构化思维
以搭建积木为例,不会一开始就漫无目的地拼图,而是先看图纸,了解整体结构后再按部件一步步组装。
编程也是如此,先设计整体架构,然后拆解成模块,最后逐个实现。
清晰的需求描述
记住一个原则:AI 不是你肚子里的蛔虫,它需要具体的指示。
❌ 错误的需求描述:
"我要做一个类似淘宝的购物网站。"
✅ 正确的需求描述:
我想要做如下的一个功能。
1. 首页功能:
- 商品展示区:
* 每个商品卡片显示:主图、标题、价格、销量
* 支持按价格、销量、好评度排序
* 提供分类筛选功能
- 搜索功能:
* 支持按商品名称搜索
* 支持按店铺名称搜索
* 提供搜索历史记录
2. 商品详情页:
- 图文展示区:
* 支持多图片轮播
* 显示商品详细描述
* 展示规格参数表
- 交互功能:
* 加入购物车按钮
* 立即购买按钮
* 收藏功能
与 AI 协作的正确姿势
记住这个公式:好的输入 = 好的输出
1.先整体,后细节
- 先描述整个项目的目标
- 然后列出主要功能模块
- 最后深入每个模块的细节
2.多用具体例子
- 告诉AI具体的使用场景
- 提供实际的数据样例
- 说明预期的展示效果
3.善用反馈迭代
-
AI 的第一个方案可能不完美
-
及时提供具体的修改意见
-
通过多轮对话优化结果
07
AI 编程工具
编程的目的不是为了写代码,而是为了能够创造出解决问题的应用。写代码只是为了解决问题的一个手段而已。
这就像我们开车,目的是为了到达目的地,开车只是一个交通手段。
AI 编程工具大致可以分为两类:
狭义的 AI 编程工具
这类工具主要面向程序员,专注于提升写代码的效率。像豆包MarsCode、Cursor 这样的 AI 编程 IDE,就像是给程序员配备了一个 AI 助手。
它们可以帮你生成代码、解释代码含义、优化代码结构、查找代码错误、回答编程相关问题,让写代码变得更轻松。
广义的 AI 编程工具
这类工具更进一步,它们让没有编程基础的人也能创造应用。
像扣子、Dify 这样的智能体搭建平台,能够提供可视化的界面搭建、预设的功能模块、简单的逻辑配置、一键式部署功能。这些平台就像是提供了"积木",让你通过组合积木搭建出实用的应用程序,极大降低了创造应用的门槛。
如果想要创造一个简单的对话机器人,也许扣子就够用了;但如果需要开发一个复杂的企业应用,那你就需要借助豆包MarsCode 这样的专业工具了!
无论是哪种 AI 编程工具,它们都在服务同一个目标:让创造应用变得更简单;而核心始终是:专注于你要解决的问题,而不是沉迷于工具本身。
08
用豆包MarsCode 写代码
安装豆包MarsCode
在启动编码工作前,我们需要先下载安装豆包MarsCode 编程助手,这里以在 Visual Studio Code 中为例。
打开 Visual Studio Code 扩展窗口,在搜索框搜索MarsCode,找到豆包MarsCode 后单击 「install」,即可完成安装。
创建示例项目
修改语言为中文
按住键盘上的"Ctrl+Shift+P"组合键,打开命令面板。
- 在命令面板中输入"Configure Display Language";
- 点击"Configure Display Language"选项;
- 在弹出的语言选择列表中,选择"zh-cn",代表简体中文。
重启VSCode:点击"Restart"按钮,重启VSCode,重启后界面将变成中文。
安装Python扩展
创建一个示例项目
我用 AI 帮我创建了这个示例项目:
我在准备一个关于豆包MarsCode 编程工具的讲解,面向的对象是编程新手。所以我需要准备一个非常简单的案例来给观众讲清楚豆包MarsCode 的功能。
我需要讲解的豆包MarsCode 能力如下:
- 代码解释
- 注释生成
- 代码生成
- 代码补全
- 智能问答
- 单元测试生成
我需要你帮我设计一个非常简单的代码案例(使用 Python 语言)
这个案例要简单易懂,但同时也能够覆盖上面豆包MarsCode 所有能力的讲解。
代码解释
无论对于新手同学还是资深的开发工程师,阅读别人的代码是最基础的能力。豆包MarsCode 的代码解释就是为了方便大家阅读代码。
对于新手同学:豆包MarsCode 的代码解释能力能让你在实战中快速学习语法知识
对于开发者来讲:快速阅读别人的代码,了解其核心作用可以让我们更加聚焦于自己的逻辑
注释生成
注释就是在核心的代码逻辑上写上文字说明,让代码更容易阅读和理解。
想象一下,你好不容易将一段复杂的代码理解清楚了,但是如果你不做任何笔记,过了一段时间再看这段代码的时候又会两眼一抹黑。
注释一般有两个作用:
- 开发代码的同学添加良好的注释可以提高自己代码的可读性;
- 无论是对于团队合作还是后期自己的维护都有着重要的作用。
对于阅读代码的同学来讲,可以通过添加注释防止重复的理解的代码。
代码生成
代码生成就是你描述一段功能,然后让大模型帮你生成一段代码。
对于新手同学而言,代码生成要小而精地用,就像我们前面讲到的:输入,处理和输出的框架。
代码补全
代码补全是针对开发者的福音,对于专业开发者而言,会经常性地写一些重复的代码。如果我们善用代码补全,可以大大提高我们的编写效率。
单元测试
代码开发完成后,测试环节是确保软件质量的关键步骤,也是产品上线前的最后一道防线。
在软件开发领域,专门设有测试工程师这一岗位,他们主要负责系统的流程和功能性测试。然而,在将代码交付给测试工程师之前,每个专业的程序员都应进行充分的自测。
自测的核心就是单元测试,即针对代码的各个功能模块进行独立的测试验证。
单元测试的核心理念是构建完整的测试用例集,通过验证各种输入场景下的输出结果是否符合预期,来保证代码的正确性和健壮性。
只有当代码能够正确处理所有可能的输入情况,并产生符合预期的输出时,这段代码才能被认定为合格。
然而,编写测试用例本身是一项耗时耗力的工作,如何设计完整的测试用例,确保覆盖所有可能的场景而不遗漏,也是专业开发者面临的挑战。而有了 AI 之后,单元测试就会变得简单很多。
智能问答
智能问答就相当于你在写代码的时候,旁边多了一个可以随时问答的 AI 助手,豆包MarsCode 的优点在于这个大模型是专门针对代码进行优化过的,能在很大程度上帮助我们提升效率。
09
附录
在学习 AI 编程之前,了解一个产品研发团队是怎么工作的,会对你的学习特别有帮助。
这就像你想拍一部短视频,了解编剧、导演、摄影、剪辑各自负责什么,能帮你更好地掌握整个创作过程。
我用大家熟悉的外卖 APP 为例,聊聊研发团队的几个关键角色。老板说,我们要做一个外卖 APP,于是产品经理就开始规划。
产品经理就像总设计师,规划整个产品功能,把用户的需求变成具体的功能清单。
- 用户能看什么餐厅、怎么筛选
- 配送费怎么算
- 订单状态怎么展示
产品经理在设计出整体的产品框架之后,交互设计师就会登场。
交互设计师专注让产品好用:
- 点餐时菜品怎么展示最清晰
- 下单时哪些信息要重点显示
- 付款时优惠券放在哪里最显眼又不会误触
当产品和交互就绪之后,流程就进入到开发手中,也就是我们常说的程序员。
常见的开发角色有两个:前端和后端开发
前端开发负责用户能看到的界面,就像餐厅的前厅:
- 让界面好看又好用
- 点餐界面要流畅不卡顿
- 优惠券要显眼但不突兀
后端开发处理看不见的核心功能,就像餐厅的厨房:
- 处理订单数据
- 计算配送费和优惠
- 保存用户信息
当前后端开发完成后,流程流转到测试工程师手中。
测试工程师则像品控师,确保每个功能都正常运作。
- 订单金额计算准确
- 支付流程不出错
如果你是产品经理,建议先了解后端:
AI 能帮我们生成界面设计,但产品的核心逻辑和数据架构更需要人来思考。比如外卖 APP,AI 可以设计界面,但"如何计算配送费"、"怎么匹配骑手"这些核心逻辑,需要你理解后端原理。
了解后端还能帮你评估功能的开发难度,知道什么是真正可行的。
如果你是交互设计师,建议先学前端:
AI 确实能生成界面,但好的交互体验需要理解前端实现原理,了解前端能让你设计出既美观又容易实现的方案,知道动画效果怎么实现,就能设计出流畅不卡顿的交互。
如果是新人同学, 没有特别喜好的情况下,建议你从后端入手,可以先找找感觉!
今天的学习总结就到这里啦,如果想了解学习更多 AI 编程的知识,立即扫描下方的学习小助手二维码报名吧!