如何选择一个合适的练手项目

简介: 可以说,所有编程学习者都离不开实践的过程。除非你只是心血来潮,仅仅想看下编程是怎样一回事,不打算去用它。否则,不管你是准备成为一名专业的开发人员,还是想在其他领域使用编程提升效率,只要你打算“真的”写程序,那就离不开练习。

最近在组织编程擂台活动(前文:码上行动的同学,你有一个机会等待签收),会帮学员们挑选合适的项目,在实践中提升编程能力。


在选题过程中,有些普遍被关注的问题,今天在这里集中聊一聊,包括我这些年指导学生的一点经验,供各位参考。


1. WHO:谁需要练手项目?


可以说,所有编程学习者都离不开实践的过程。除非你只是心血来潮,仅仅想看下编程是怎样一回事,不打算去用它。否则,不管你是准备成为一名专业的开发人员,还是想在其他领域使用编程提升效率,只要你打算“真的”写程序,那就离不开练习


2. WHY:为什么需要练手?


少数技能是知道/不知道的性质,比如某种工具软件的使用、某种机器的操作,只要经过培训就能上岗;大多数的技能是熟练/不熟练的性质,比如演奏乐器、驾驶汽车。编程亦是如此。你了解基础的语法、类型、常用的函数、模块,就好像你知道如何在吉他上弹出单音、和弦,这离演奏出一首曲子来,还差了大量的练习时间。


编程虽不用像乐器一样需要肌肉记忆,但你同样需要对常用“套路”的熟悉,才能在使用时信手拈来。另一方面,只有去面对实际的问题,才会倒逼你思考解决问题的“大局观”,如何流程化模块化地实现你需要的功能。


3. WHEN:什么时候开始练?


尽管项目实践很重要,但也不宜过早,所谓“欲速则不达”。如果你还没有掌握编程的基础,就急于做出一个可展示的作品,往往事倍功半,说不定还带来挫败感,丧失继续学习的动力。我建议,至少你对基本的语法、类型,常用的数据结构如 list、dict 的使用,函数及参数的原理,字符串、文件、网络操作,如何使用模块提供的功能等方面都有所了解之后,再动手做项目。在此之前,把教程上的例程自己写一遍会更有效果。


当然,也不宜太晚。学会编程,但迟迟不动手,过一阵子这个技能就荒废了,等到下次想起来要用的时候发现又得从头学。很多人表示,我上学时候学过 C 语言,但依然写不出代码,就是这个原因。


4. WHAT:应该选择怎样的项目?


尽可能选择难度在自己能力上界左右的项目。太简单了对能力提升不大;太难了,步子太大,通常都是半途而废。偶尔会遇到有人问类似问题:我刚学 Python,我想做个自动驾驶程序,应该怎么做?这问题我回答不了,答案也没有意义,在你能力还不够的时候,即便答案放在你面前也是理解不了的。高出自己能力一点点,在过程中通过搜索、查阅、询问等方式解决问题,你的经验值才会得到增长


除了合适的难度外,尽量从身边入手,寻找可用程序解决的问题。做一个你平常用得上的批量文件处理小程序,会比千篇一律的抓图片爬虫更有意思。这样的项目目标明确,最终更可能完成。


5. HOW:选好题后要怎么练?


从模仿做起,从核心功能做起。比如你要做网站项目,那就可以模仿一个知乎。开发时,不建议用瀑布式的开发模式一步到位,而是迭代式的开发,例如:1.先完成最基本的问答功能;2.之后增加点赞、排序;3.再增加评论功能;4.实现关注用户功能……迭代式开发可以让你更快获得阶段成就感。永远记住:完成比完美更重要!


当你慢慢已经可以模仿得像那么回事之后,不妨尝试下:1.深入细节,把一两个具体功能做到“像素级”复刻原版的程度;2.增加你自己的功能,甚至完全原创一个项目;3.把你的作品发给别人使用。当做到这几点的时候,你已经离一个程序员不远了。


以上是我对于通过项目实践提升编程能力的一些经验和建议。欢迎留言讨论,也欢迎分享你在学习中的心得。






其他内容回复左侧关键词获取:

python :零基础入门课程目录

新手 :初学者指南及常见问题

资源 :超过500M学习资料网盘地址

项目 :十多个进阶项目代码实例


如需了解视频课程及答疑群等更多服务,

请号内回复码上行动

推荐阅读

经验:Python转行 | 我用Python | 如何提问 | 新手建议

干货:如何debug |  一图学Python  | 知乎资源 | 单词表

案例:漫威API | 流浪地球 | 爬抖音 | 查天气 | 智能防挡弹幕 | 红包提醒

相关文章
|
6月前
|
开发工具 C# 图形学
如何选择适合自己的游戏制作工具?可以遵循这样一个原则
如何选择适合自己的游戏制作工具?可以遵循这样一个原则
56 0
|
2月前
|
开发框架 JavaScript 前端开发
如何选择合适的Web开发框架?
【9月更文挑战第1天】如何选择合适的Web开发框架?
84 1
|
6月前
|
存储 UED
从零开始构建个人网站:初学者指南
【5月更文挑战第9天】本文是初学者构建个人网站的指南,包括明确目标、选择域名和主机、挑选网站建设工具(如WordPress、Wix、Squarespace)、设计网站结构和布局、创建内容、优化测试以及推广维护。按照这些步骤,新手也能轻松建立自己的个人网站。记得在过程中不断学习和改进,祝你建站成功!
|
运维 程序员
程序员成长第九篇:真实项目中的注意事项
程序员成长第九篇:真实项目中的注意事项
67 0
|
存储 弹性计算 固态存储
阿里云服务器配置怎么选合适?2023避坑指南
阿里云服务器配置怎么选择合适?CPU内存配置、公网带宽大小、系统盘以及云服务器ECS实例规格选择指南,个人用户选择ECS共享型s6云服务器,1核2G、2核4G配置即可,企业公司用户可以选择独享型ECS计算型c6、通用型g7等,4核8G、8核16G、4核32G等配置
448 0
阿里云服务器配置怎么选合适?2023避坑指南
|
测试技术
零基础学软件测试难吗 选好合适的学习方式就不难
近些年,软件测试岗成了我国最受欢迎的就业技术岗位,因为工资高,还不需要加班,所以越来越多的人想要转行到了软件测试行业,而这其中也包含了80%没有任何计算机基础的外行人员,那么零基础学软件测试难吗?
191 0
零基础学软件测试难吗 选好合适的学习方式就不难
|
运维 数据库 数据安全/隐私保护
服务器的操作实践的从零到一
通过此次活动终于将自己的运维技术实践了起来。十分的感觉阿里云这个平台给我们在学期间大学生这个机会。
130 0
|
SQL 缓存 监控
从零到千万用户,我是如何一步步优化MySQL数据库的?
很多小伙伴留言说让我写一些工作过程中的真实案例,写些啥呢?想来想去,写一篇我在以前公司从零开始到用户超千万的数据库架构升级演变的过程吧。 本文记录了我之前初到一家创业公司,从零开始到用户超千万,系统压力暴增的情况下是如何一步步优化MySQL数据库的,以及数据库架构升级的演变过程。升级的过程极具技术挑战性,也从中收获不少。希望能够为小伙伴们带来实质性的帮助。
166 0
从零到千万用户,我是如何一步步优化MySQL数据库的?
|
域名解析 网络协议 搜索推荐
开发人员,怎能没有个人博客!如何选择合适自己的域名
开发人员,怎能没有个人博客!如何选择合适自己的域名
322 0