给新手程序员的一点学习建议给新手程序员的一点学习建议
我是一个有几年经验的程序员,之前对于自己的发展却是一头雾水,不知道主流技术,不知道工作是迎合主流技术还是迎合公
司发展。让我有感触的是这两年的坚持学习,在迎合公司的发展的前提下,有自己的学习时间,基于此给新入坑的程序员一点
建议。
学习方向学习方向
我们知道编程从诞生到现在已经出现了几个阶段:
面向机器编程:早期的软件编程需要程序员记牢计算机指令的二进制编码,为了不浪费记忆在二进制编码上,会变语言就出现
了,早期的汇编语言本质上都是面向机器编程;
面向过程编程:一些人为了摆脱计算机终端的束缚,使用了高级软件编程语言编程,使用if…else,while…break,for…goto符合
人类习惯的编程语言,也就是面向过程编程
面向对象编程:面向过程的复杂性随着软件规模的膨胀,大型软件的开发过程开始失控,遇上了软件危机,面向对象编程就出
现了,以对象作为软件编程的基础单位。
面向更彻底的对象编程:现实中的面向对象编程并没有想象中的面向对象编程,都只有对象的属性,没有对象的行
为,DDD(领域驱动设计)架构思想弥补了这一缺陷,是未来发展的趋势。
面向数据编程:随着科技的发展,人工智能和大数据的发展,面向数据发展的需求会越来越多,公司越大体会越深。
面向并发编程:随着计算机的性能逐渐增强和互联网对计算机资源的增加,如果利用好CPU的多核及分布式,反应是编程越
来越重要。
基于此DDD+大数据大数据+并发编程并发编程是发展的趋势,可以多往这方面投入点精力。
学习思路学习思路
对于新手程序员来说不要一上来就撸源码,不是说不可取,只是事倍功半,源码里面很多设计模式,不能深刻的理解设计模
式,不能够清楚了解设计缘由,对于没有什么概念的人来说吸收知道是很慢的
到了真正用的时候,还需要去看看之前学的知识;想要深刻的理解,万变不离其宗,好一点的源码都是基于设计模式、数据结
构开发,包括一些设计原则,优化手段。
设计原则:SOLID原则 = SRP(职责单一原则) + OCP(对扩展开发,修改关闭原则)+ LSP(里氏替换原则)+ ISP(接口隔
离原则)+ DIP(依赖反转原则);KISS原则(Keep It Short and Simpl)
YAGNI 原则(You Ain’t Gonna Need It);
代码重构:当了解设计原则之后就试着跟着这些原则去重构代码包括架构层面解耦、可读性、可维护性,怎么写单元测试等;
设计模式:常见的23种设计模式都是基于设计原则的最佳实践,常见的分类有创建型模式创建型模式(抽象工厂模式、建造者模式、工
厂方法模式、原型模式、单例模式)、结构型模式结构型模式(适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代
理模式)、行行为型模式为型模式(职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模
式、策略模式、模板方法模式、访问者模式);
评论0
最新资源