如何靠自学提升自己的编程能力?

作者&投稿:伍眉 2024-07-02

在当今信息技术高速发展的时代,编程成为了许多人所追求的技能之一。然而,成为一名出色的程序员并不是易事,需要不断学习、实践和探索。那么如何靠自学提升自己的编程能力?接下来我们就来具体了解一下吧。


1、多读好书
书籍会系统介绍常见的知识点,读一本书比读100篇博客有用的多。博客的作者技能良莠不齐,所以可能陷入误区。对于基础知识点,阅读好书,学习在线课程,阅读官方文档(React的官网文档,最好是英文文档,中文很多翻译不准确)。这样逐步搭建自己的知识框架。
在学习一门新的编程语言时,应该关注这门语言的基本表达形式(Primitive Elements)、组合的方法(Means of Combination)及抽象的方法(Means of Abstraction)这三个特性。

  • 基础知识:基本语法、关键字、变量与常量、数据类型、运算符、流程控制、异常处理、文件处理、编程思想(面向对象、面向过程、函数式编程)、多线程支持等;

  • 应用知识:网络请求、数据处理、内置函数、对日志和调试的支持、对单元测试的支持、序列化与反序列化等;

  • 高级知识:开源类库、开源框架、底层原理等;

我觉得优先读基础知识(Javascript 基础语法,数据结构与算法,ES6语法等),这部分基础知识成熟,是其他所有知识的基础。之后根据工作需求,阅读相关的第三方库文档。

  • 好书推荐

  • 编程语言(c/c++):《c语言程序设计》->《c++ primer》-> C++ efftive 系列 -> 《C++ STL 源码剖析》->《深入理解C++对象模型》

  • 数据结构与算法:《大话数据结构》->《算法图解》->《数据结构与算法之美》 -> 《剑指offer》 -> LeetCode刷题(至少刷到200多道)操作系统:《操作系统导论》->《现代操作系统》

  • 计算机网络:《图解HTTP》->《图解TCP/IP》->《网络是怎么连接的》 ->《计算机网络自顶向下》->《TCP/IP协议详解卷1》

  • 计算机组成:《程序是怎么跑来的》->《计算机组成原理:软件/接口与设计》->《深入理解计算机系统》数据库:《SQL必知必会》->《从根儿上理解mysql》->《mysql技术内幕》->《高性能mysql》

  • 编译原理:《程序员的自我修养》

2、多参与项目
参与项目就会写很多的代码。这样可以让你明白学过的知识具体怎么使用,哪些知识比较常用,自己哪些知识学得不牢固。实践是检验真理的唯一标准,项目是检验知识的唯一标准。可以有针对性的参与项目(不同项目主要练习不同的知识点),自己需要做到把经常使用的项目,具体的配置和注意点熟记,不常使用的项目,可以短时间内阅读项目并进行开发。项目推荐:

  • 基千百度AI的语音识别

代码量:400行

实现功能:语音录入、语音转文字

适合人群:有C++、QT、网络基础。

涉及技术:QT、信号与槽、HTTP、百度AI开放平台。

  • 通讯管理系统

代码量:400行

实现功能:通讯录信息的增删改查操作。

适合人群:C语言的初学者,难度较小,不合适写在简历上。综合应用数组、指针,可以锻炼编程逻辑思维,积累代码量。

涉及技术:数组、指针、结构体、函数。

  • 停车管理系统

代码量:800行

实现功能:停车、找车、缴费、离开、路线规划。

适合人群:有C语言和链表、栈、队列基础。

涉及技术:指针、数组、链表、队列、广度优先搜索。

  • 智能WiFi摄像头

代码量:1500行

语言:C语言

实现功能:图像数据采集、APP显示、远程控制

适合人群:有C语言、Linux、网络基础,属干综合性项目,适合有意从事嵌入式开发的同学。

硬件平台: NanoPi Duo2

涉及技术: mjpg-stremer、json、TCP、UDP、QT、epoll

  • 智能音箱

代码量:3000行

实现功能:由嵌入式端、后台云服务器和APP组成,实现了切歌、暂停、继续、音量调节、APP远程控制、语音控制。

适合人群:有C/C++/Linux基础,综合性比较强,可以作为项目提升、毕设、就业等。

硬件平台:mini2440

涉及技术:C/C++、libevnet、json、进程、TCP、QT

3、多阅读源码
阅读源代码是学习编程的重要方式之一。通过阅读其他人编写的代码,你可以学习到其他人的编程思路和技巧。同时,阅读源代码还可以帮助你更好地理解编程语言和框架的工作原理。如果你想要学习一个新的编程语言或框架,阅读其源代码是非常有帮助的。

关于源码阅读的三层境界:

初级:记流水账——初期的源码阅读文章基本上是记流水账,例如对源码一行行加注释,只关注底层实现细节,但并未形成更高层次认知,对其设计理念没有提炼与深度领悟。
中级:能提问、思考、提炼——要求我们在阅读源码的时候多思考,并反问自己如果自己实现的话该如何着手,如何设计,带着疑问去研究源码。通过对比,思考,会对其背后的理念有了更深刻的理解。
高级:思考、质疑、验证——不管是什么代码,都会存在BUG或者实现并不合理的地方,如果大家在阅读源码的时候能够深入思考, 合理质疑,并能通过验证证明自己的观点,说明我们的能力、思考得到了极大的提升。

4、用好搜索引擎

多使用非百度的搜索引擎,可以获取很多英文的参考资料,百度会减弱自己的英文能力。想要快速解决这些问题可以学会使用搜索引擎。编程界有个说法:超级程序员=普通程序员+Google。用好搜索引擎,Google+GitHub也许可以解决你大部分的问题。

  • Newest ‘python’ Questions—一个与程序相关的IT技术问答网站

  • 3.10.4 Documentation—Python各个版本的官方文档

5、自己做一个开源的项目
参与开源项目是提高编程能力的另一种方式。通过参与开源项目,你可以与其他程序员合作,学习到其他人的编程经验和技巧。同时,开源项目还可以帮助你锻炼自己的编程能力,提高自己的编码水平。参与开源项目还可以扩展你的社交圈,结识更多的编程爱好者。

6、学习算法和数据结构

算法和数据结构是编程的基础,它们可以帮助你更好地理解编程语言和框架的工作原理。学习算法和数据结构可以帮助你更好地解决编程问题,同时也可以提高你的编程能力。如果你想要成为一名优秀的程序员,学习算法和数据结构是非常重要的。


个人经验:通过自学提升自己的编程能力需要付出大量的时间和精力,还需要具备自律和耐心。但是,成为一名出色的程序员可以为自己创造更多的机会和发展空间,也可以为社会创造更多的价值和贡献。因此,我们需要不断学习和实践,追求卓越,成为一名优秀的编程高手。



1、注重基础知识
编程基础知识是提高编程能力的重要基石,如掌握常用编程语言、数据结构和算法等。因此,在开始编程之前,我们需要花费时间深入了解这些基础知识,以便更好地理解程序逻辑并提高编写代码的效率。
2、阅读高质量的代码
阅读高质量的代码可以帮助我们了解其他程序员的编码方式和思维模式,并从中获取灵感和启示。通过观察他人的代码,我们可以从中学习到新的编程技巧和解决问题的方法。
3、刻意练习
刻意练习是提高编程能力的重要方法之一,它包括专注于练习特定的编程技能和应用这些技能来解决实际问题。通过不断地练习,我们可以锻炼自己的编程能力,并在不断的实践中逐渐提高自己的技能水平。
4、参加编程社群或交流会
参加编程社群或交流会是提高编程能力的好方法,可以通过与其他程序员分享经验和思路来提升自己的技能水平。此外,还可以通过这些社群或交流会了解到最新的编程技术和趋势,从而更好地掌握相关技能。
5、坚持学习和实践
学习和实践是提高编程能力的关键所在,我们需要不断地更新自己的知识和技能,并将其应用于实际项目中。只有通过坚持学习和实践,我们才能不断地提高自己的编程能力。
总之,提高编程能力需要付出大量的时间和努力,但只要掌握了正确的方法和技巧,就能够快速有效地提升自己的编程技能。通过注重基础知识、阅读高质量的代码、刻意练习、参加编程社群或交流会以及坚持学习和实践,相信每个人都可以成为一名优秀的程序员。

现在的网络上的一些编程的教学资源其实还是很多的,如果自学的话,可以先找入门的简单基础的小的开始,主要还是能有好的自控能力,和坚持,开始初期是要花很多时间去敲基础代码,然后也要知道整个学习的知识大纲,给自己分配好学习旅程碑


你是否需要了解?

如何自学编程
答:要熟悉编程范式,尤其是面向过程及面向对象这两种;要广泛阅读,多用编译器及IDE(网上有许多免费的)练习编程。选择一种编程语言。初学者一定要从主流语言开始学习,比如中级语言C和C++。这两种语言是任何一名合格、专业的程序员都必须掌握的,因为它们称得上是软件开发界的主流。但是最好不要从高级语言开始学...

如何高效自学编程
答:很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个大学生,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,不懂C语言,...

新手如何学习编程?
答:学编程入门建议:1.学编程要从根本出发,从理论上来说,需要广泛的阅读。了解算法的博大精深和计算机的基本理论。2.从实践上来说,需要有广泛的练习,练习的广泛在于练习不同的内容。然后就是创新精神和数学思维能力,这些都是需要培养的。基础要打好学编程要具备一定的基础。3.逻辑思维能力的培养、学...

怎样自学编程入门
答:只要坚持完成一个项目,你的能力就会大大提升。5、要坚持思考,创新和持续学习。编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要学习者要坚持学习和更新自己的知识。可以通过专业性网站学习,可以通过专业社区交流等。

大学生想要自学编程,有什么好的学习方法?
答:前端就是和用户交互的。后端大部分都是框架结构数据库。确定好了方向后,开始学习。初学者可以跟着网上的教程一起学习。(51自学网,菜鸟程序,B站都有详细的教程)不会的问题,看不懂bug,上论坛是(CSDN)问。一般都会得到回复,你也可以跟他们进行讨论交流。不怕不会,就怕不问!多敲代码!编程不比...

怎样自学编程入门
答:它同样很简单。六、寻找编程项目 有些程序员学习编程一上来就想着月薪1W+以上,这样的学习过程会非常痛苦,很容易放弃。最好是奔着一个小项目而学习编程,当你把作品做出来了,就有成就感,同时基本上具备找工作的能力,直接找个初级的开发岗位,再进阶,你的自学之路功与名都有了。

如何零基础自学编程
答:第三步:制定学习计划 选定了方向之后,就不要再轻易变动了,因为编程的整体学习成本还是比较高的,所以一头扎进去学就对了。自学的过程是枯燥乏味而且痛苦的,所以要想有一定成果,清晰明确的规划是必不可少的。根据选定的方向和平时的空余时间定制计划即可,没有什么模板。第四步:培养好的学习方式 学...

编程如何自学
答:学编程入门建议:1.学编程要从根本出发,从理论上来说,需要广泛的阅读。了解算法的博大精深和计算机的基本理论。2.从实践上来说,需要有广泛的练习,练习的广泛在于练习不同的内容。然后就是创新精神和数学思维能力,这些都是需要培养的。基础要打好学编程要具备一定的基础。3.逻辑思维能力的培养、学...

java该怎么自学?
答:学习Java决不能听完敲一遍就过,一定要多敲几遍,第一遍可以跟着老师的思路,后面一定要有自己的思路,慢慢培养自己的编程思想和实现功能的逻辑。甚至可以自己给自己出题,完全靠自己实现一些有意思的小功能,对提升自己的能力和代码熟练度都有不小的帮助。多看视频,多练习,主要是练习一些算法的运用,建议下载一些编程练习...

初学者怎样学习编程?有哪些方法?
答:通过做更多的项目,你不仅可以了解你自己的局限性,而且可以提高你分析和解决问题的能力。毕竟,学习代码不完全是只学习语法,而是要学习如何使用手中的工具去解决问题。5、参与社交编程 学习写代码从来不是“一个人在战斗”。如果你觉得不需要任何帮助就可以创建一个更大的应用软件,那么你就错了。事实上...