想学习IT技术,却不知道如何下手?
更或是,你还没有一个明确的学习规划?
那么,你可以跟着偶的这套流程去学习,
可以让你的效率能大大提升。
01
了解这门语言的产生背景
比如Python这门语言:
ABC是由Guido参加设计的一种教学语言。
就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。
但是由于其封闭,并未取得成功。1989年的圣诞节期间,吉多·范罗苏姆开发了一个新的脚本解释器,并命名为 Python,作为 ABC 语言的一种继承。
新的脚本解释器开放,完美结合了 Unix Shell 和 C 的使用习惯。
02
了解这门语言的产生背景
仍以Python为例:
l 网站后台
有大量成熟的框架,如 Django,Flask,Tornado;
l 网络爬虫
Python 写爬虫有很多库可用,如 Scrapy,Beautiful Soup;
l 科学计算
可以替代 R 语言和 Matlab,如 NumPy, SciPy, Matplotlib, Pandas;
l 数据挖掘,机器学习,大数据
Scikit-learn,Libsvm,TensorFlow;
l 系统部署,运维脚本
Shell 适合简单的系统管理工作,但涉及复杂的自动化任务还是需要 Python。
03
了解新语言的特点
与其它语言不同,Python的语言设计哲学就是,优雅、明确、简单。
用一种最简洁的方法,最好是只有一种方法去做事。
Python 是一门面向对象的动态、解释型语言,具有出色的模块化特性。同时,Python 拥有大量的第三方开源包,可以直接使用,极大地提高了开发效率。Python 编写的代码,可读性强,特别适合多人大型项目的开发。但是 Python 的执行效率比不上 C/C++ 这类编译型语言。
04
学习新语言的数据结构
Python 中内置类型有整型 int,浮点型 float,布尔型 bool,字符串 str,列表 list,元组 tuple,字典 dict,集合 set。
与 C语言 不同的是,Python 并不依赖于关键字定义各种类型。Python 是动态强类型语言,是通过运行时,自动选择合适的数据类型。字符串、列表、元组、集合、字典等复杂数据类型,并不是 C 语言的内置类型。
05
学习新语言的逻辑结构
06
学习定义一个独立模块
07
尝试做一个小项目
学习一门新的编程语言,掌握它最快的方法,就是用这门编程语言去完成一次领域实践。
08
尝试使用库完成任务
通常,发布者会将使用频率高、可以复用的功能,打包成库,提供给大家共同使用。
库可以分为两类:
一种是官方的库,通常质量比较高、会维护更新;
一种是第三方的库,质量参差不齐,需要自己甄别。
例如,Django 中提供了 from django.views.decorators.http import require_POST 装饰器用于确保 view 函数的请求方法是 POST。使用这个装饰器可以简化 view 函数中的条件判断,有利于编写简洁易读的代码。当然 ,Django 还有大量的第三方 App 可以下载使用,直接提供一个完整功能。
在项目开发的过程中,合理地使用库会起到锦上添花的效果。
09
学习组织代码结构
研究怎样更好的组织项目的代码是一门管理科学。笔者之前也写过相关的博文 Django浅析与工程目录结构实践 讨论了 Django 工程的目录组织结构。
好的项目代码结构需要学习一些高关注度的开源项目的经验,也需要注意输出,成为大家共同的标准,共同维护,产生影响力。
10
提高代码复用率
随着使用新语言年限的增长,参与项目的增多,会出现一个显而易见的问题:在不同的项目中,会有一些非常类似的功能。甚至在开发新项目时,有时还会去以前项目中拷贝代码。
这时,应该思考如何提高代码的复用率,如何提供公共组件。
代码的复用可以分为:
代码片段(Snippets)
维护一个 Snippets List 是个不错的注意
公共组件(Components)
公共组件需要从项目中分离,会有一定的工作量,但收益很大。
从项目中分离公共组件的过程,需要关注模块内的高内聚,模块间的低耦合。在模块分离的过程中,大家会更加深入地去理解应用系统。这一过程的完成,又将极大地提高开发效率。
更重要的是,大家不仅仅从项目中分离出一个公共组件,在使用其他人提供的公共组件时,也会变得容易。
下一次项目开发时,需要一个新功能,你首先想到的可能不是编码,而是去公共组件库或 Github 搜索有没有类似的包,然后经过简单的改造就能在项目使用。
11
关注性能
针对 Web 应用,高并发、高可用、高一致性始终是亘古不变的议题。在对应用系统不断发起挑战时,那些隐藏的曾经被忽略的问题才会逐渐显现。在这个过程中,不断地发现应用系统的瓶颈,解决这些瓶颈,循环往复,不断加深对业务、对应用系统的理解。
性能报告是性能测试输出的结果。性能报告就像质检报告一样,是让用户信任和使用产品的凭证。高并发、高可用、高一致,并不是口号,需要数据的举证,需要不断的优化性能。
12
源码阅读
阅读源代码有利于提高自己的代码水平。阅读 Python 解释器的源码,有利于编写高性能的代码。
阅读 Django 源码有利于编写易维护、易更新的 Django App。从开始学习这门新语言时,就可以开始尝试阅读源代码。
13
学习资料
新人想要零基础学习编程,少不了系统的课程资料,小编在这里已经整理好了当前热门的IT学习视频,私信偶“程序员资料”,即可领取。