程序员如何积累编程技术或编程经验

工做中老是被问到程序员如何积累编程技术或编程经验?首先我认为编程是一门实践性的很强的艺术,因此貌似惟有实践才能积累。然而把它看成一个我的软件过程(PSP)的问题,总感受是有一些规律、规则或建议能够解答。思索良久,结合本身的工做经历,尝试给出一个本身对这个问题的解答。程序员

经验是什么?
复制代码

程序写多了,总会发现有一些东西是不怎么变的,就是说你写一万遍也是这么个写法,而这就是所谓的经验。固然这些不变的东西有大有小,若是咱们能给它分一下类,并取个好听的名字,而后在后续的编程实践中得以运用,那么这个过程就是所谓的积累。面试

经验分类

咱们将小一些的不变的东西叫习惯用法(idiom),大一些的叫模式(pattern),再大一些叫框架(framework),再大一些就是技术栈(technology stack)了。
复制代码

Idiom(习惯用法)编程

习惯用法更多的停留在语言层面上,与语言特性密切相关,一般是一些API的经典用法。如文件拷贝的经典写法、网络状态的判断、临时文件的建立及删除等。windows

通常咱们会将这个经典的写法整理到笔记本中,方便查阅。对于使用Eclipse的用户,能够将这些抽取成代码片断,分类保存起来,方便应用。
复制代码

Pattern(模式)设计模式

模式更多的描述一类问题的解决方案,比较抽象适用于任何语言。如经典的23种设计模式、并发编程模式等。对于模式要理解解决的问题域及实现方式,因此就要求在编程实践中有意的训练,而后从实践中积累本身的编程模式。

例如关于网络并发编程模式主要有:Reactor模式和Proactor模式。在Linux中使用epoll,当IO可读写的时候通知你,你再去同步读写,这就是所谓Reactor模式。而windows下的iocp或者Linux下的ZeroMQ则是数据发送完了或者接收完了再通知你,这就是所谓Proactor模式。其实说白了就是,Reactor给你的是读写权,Proactor给你的是数据。
复制代码

Framework(框架)网络

Framework就是对Pattern的实现,目的是简化应用编程和重用代码。如Struts、Spring、Mina、Netty等框架。对于框架的积累,通常在编程中多以快速原型发布,持续演进方式推动,最终造成稳定的框架实现。
复制代码

Technology Stack(技术栈)架构

积累本身的技术栈是架构师必备素养之一。这就要求咱们在编程实践中要以架构师的视角看问题,运用技术,积累技术。

我以为若是能作好上面的这几个方面,从小到大,反复迭代的实践,编程技术或编程经验的积累又有何难呢?
复制代码

若是你想学好JAVA这门技术,也想在IT行业拿高薪,能够参加咱们的训练营课程,选择最适合本身的课程学习,技术大牛亲授,8个月后,进入名企拿高薪。咱们的课程内容有:Java工程化、高性能及分布式、高性能、深刻浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点。若是你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优点的,想进阿里面试但担忧面试不过的,你均可以来,q群号为:180705916 进群免费领取学习资料。并发

相关文章
相关标签/搜索