赠百科 手机版
当前位置: 首页 > 常识 >

编程怎么自学入门教程(提升编程水平的6个秘诀)


一、学会专注学习

刚开始想快速学习某种新知识,就不能把注意力分散到其他方面,而是将注意力要聚焦在最必要的地方,一开始只选择一种编程语言,一本书,一个课程等,学会专注于一件事,直到你完全掌握。

学习编程最好的方法就是编程。如果你正在阅读一本书或一篇博客文章,并且遇到了一个代码示例,请在代码编辑器把这些代码输入进去,并尝试让它们工作。你还可以进一步摆弄这些代码,比如尝试改变其中的一部分,或者试试其他方法来应用等等。

二、学编程,学什么?

《计算机程序的构造和解释》的作者曾经表达这样的观点:在学习一门新的编程语言时,应该关注这门语言的基本表达形式(Primitive Elements)、组合的方法(Means of Combination)及抽象的方法(Means of Abstraction)这三个特性。

如果展开以上三个特性的话,就几乎包含了学习一门编程语言所需要关注的所有重要知识。

  • 基础知识:基本语法、关键字、变量与常量、数据类型、运算符、流程控制、异常处理、文件处理、编程思想(面向对象、面向过程、函数式编程)、多线程支持等;
  • 应用知识:网络请求、数据处理、内置函数、对日志和调试的支持、对单元测试的支持、序列化与反序列化等;
  • 高级知识:开源类库、开源框架、底层原理等;

选择想学习的编程语言,开始你的学习:

  • Python——一种很好的入门语言,用于web应用程序、游戏领域、人工智能和大数据
  • Java——用于无数种程序中,从游戏到web应用程序再到ATM软件
  • HTML——任何web开发人员的基本起点
  • C语言——是一种较古老的语言,C仍然是一个强大的工具,是C++、Objtovi-C的基础

三、用好搜索引擎

编程小白在学习路上会遇到很多问题,想要快速解决这些问题可以学会使用搜索引擎。编程界有个说法:超级程序员=普通程序员+Google。用好搜索引擎,Google+GitHub也许可以解决你大部分的问题。

  • Newest ‘python’ Questions—一个与程序相关的IT技术问答网站
  • 3.10.4 Documentation—Python各个版本的官方文档

如何正确提问?

首先提问之前要自己先去主动找解决方法,不做伸手党,其实直接问问题就好,千万别一上来就——在吗?你是做Python开发的吗?......这是查户口吗?

几点可操作的建议:

  • 把背景说清楚,你要尝试解决什么问题。比如你在学习某一网课,照着教程码代码,但是教程里代码是正常运行,到了你码代码却出了bug,提问前附上该课程的网址;
  • 交代清楚你为了解决这个bug,已经做了哪些尝试却依旧未解决。交代是缩小bug的范围,节约大家的时间。所以这一小步骤,尽自己所能详细的交代清楚;
  • 说明你想要的结果是什么样子的,问题被解决后应该是怎样的;

四、重视设计原则

框架和 API 都是变化很快的事物。但软件设计的基本原则却是经久不衰的。所以应该去学习那些跨越编程语言栅栏的编程原则。

一些例子:

“一个需求上的小变化应该只会引发代码实现上的一个小变化。”(引自 《软件开发实用手册(A Practical Handbook for Software Development)》)

只做一件事情 (DOT)——从 Doug McIlroy 的“一次只做一件事情,把这件事情做好(DOTADIW)”中简化而来——一个函数应该只执行一个任务。因此,一个函数不应该既获取数据又处理数据,并绘制到屏幕。这个函数应该只获取数据,或者只处理数据,或者只绘制到屏幕。(所以,是时候把你的 React 组件拆分成更小的部分了!)

“对接口编程,而不是对实现编程。” ——四人帮(Richard Helm、Ralph Johnson 和 John Vlissides),《设计模式》

“优先选择对象组合而不是类继承。”——四人帮,《设计模式》

“过早发生的优化是万恶之源。”——Donald Knuth

“你并不需要它(YAGNI)”——请不要为实际上还不需要的东西去编写代码。

五、阅读优秀源码

用拼图、搭积木的心态来学习源码,如果你想了解它们是怎么组装在一起的,那你就需要把它分解成每一小块,再去弄清楚每一个模块是如何实现的,整体架构是怎样的。

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

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

六、自我提升书单

  • 编程语言(c/c++):《c语言程序设计》->《c++ primer》-> C++ efftive 系列 -> 《C++ STL 源码剖析》->《深入理解C++对象模型》
  • 数据结构与算法:《大话数据结构》->《算法图解》->《数据结构与算法之美》 -> 《剑指offer》 -> LeetCode刷题(至少刷到200多道)操作系统:《操作系统导论》->《现代操作系统》
  • 计算机网络:《图解HTTP》->《图解TCP/IP》->《网络是怎么连接的》 ->《计算机网络自顶向下》->《TCP/IP协议详解卷1》
  • 计算机组成:《程序是怎么跑来的》->《计算机组成原理:软件/接口与设计》->《深入理解计算机系统》数据库:《SQL必知必会》->《从根儿上理解mysql》->《mysql技术内幕》->《高性能mysql》
  • 编译原理:《程序员的自我修养》

相关文章

  • picture

    腊肠和什么炒好吃又下饭(腊肠绝绝子的简单吃法)

    腊肠绝绝子的简单吃法,搭配青蒜炒一炒,解馋下饭,老少皆宜在中国的广袤土地上,腊肠作为一种传统美食,历史悠久,源远流长。它不仅是南方地区尤其是广东、四川等地的家常美味,更是春节、冬至等传统节日的必备佳肴。腊肠以其独特的风味和制作工艺,承载着家的味道和节日的喜悦。腊肠炒青蒜,这道菜品将腊肠的醇厚与青蒜的

  • picture

    什么草莓品种最好吃(十大公认最好吃草莓?)

    在浩如烟海的水果世界中,草莓凭借其鲜艳的色泽、诱人的香气和独特的口感,一直深受人们的喜爱。作为“果中皇后”,草莓不仅美味可口,还富含丰富的营养价值,成为了许多人日常水果的首选。然而,在众多草莓品种中,哪些才是真正的佼佼者呢?今天,我们就来为大家揭晓十大公认最好草莓排名榜。首先,排名第一的当属“红颜草

  • picture

    短路什么意思怎么解决(断路短路你是否熟知?)

    电池的断路与短路是完全两个故障,也是两个概念,今天我给大家详细说说断路和短路都是怎么回事儿,怎么去区分?  我们先说一下断路,断路就是断开的意思,也就是电池内部出现了断裂的地方啊,也就是我们俗称的断格。电池修复 例如电池内部的过桥格与格之间出现了断裂,即为断路,也就是断格。断格的初步表现不是完全断开

  • picture

    卫生间适合挂什么画好(卫生间装饰哪种好?)

    很多人都觉得风水问题离我们很远,其实不然,我们日常生活中就存在,知识我们忽略了它的存在,卫生间隔断,相信很多家庭都安装了,其实这样的设计一则是为了美观,还有一个也是风水巧妙化解。当然卫生间隔断只是一个方面,卫浴间挂上风水画也能有奇效!(一)卫生间挂画风水之愉悦身心的挂画在卫生间中,选择一些偏绿色系的

  • picture

    鞋为什么发霉(教你如何处理皮鞋发霉问题)

    不知道你是不是也感受到了今年梅雨季节带来的侵害,仅仅是隔了一两个月没打开的鞋柜,一打开旋即霉味扑鼻,不少鞋子纷纷中招——发霉了!夏季气候高温潮湿,最是容易引起鞋子发霉的“事故”。那么,具体是什么原因引起皮鞋发霉的呢?最常见的发霉原因包括下面三种:1.鞋子穿过后没有很好清洗、吹干,鞋内残留污渍,并且皮

热门文章

最新文章