程序员的编程内外功

自己以为的编程内功有:

编程通用性的知识

算法

编译原理

数据结构

设计形式

重构

功用优化

面向对象编程

数据库

笼统化

言语外部的特性

字符串处置

正则表达式

变量与常量

控制语句if-else

循环

函数/方法

类/对象/接口

递归

哈希表

数组

还有工具类的内功:

构建工具 (通用知识)

单元测试 (通用知识)

依赖包管理 (通用知识)

MVC 框架 (通用知识)

代码质量检测 (通用知识)

JSON 和 XML 设计 (通用知识)

代码控制 (通用知识)

IT外的相关知识:

数学(团圆数学,几何学)

物理

图形处置

图形/UI设计

等等,这些都是可以各种言语内都能交叉运用的共同的知识。这些知识学好了,大局部言语都可以用到,也都能或多或少在项目和运用中表现出来。

编程的外功包括有:

各种编程言语包括C++,javascript,java,php,C#,perl,python等

各种编程环境,.NET, WAMP/LAMP,node.js 等

各种IDE和编辑器,notepad++,vim,Visual Studio,Sublime等

各种快捷键,

各种包依赖管理器,npm,composer,Nuget

各种版本管理器:git,svn,cvs

各种单元测试工具

各种构建工具

各种MVC框架

等等

内功和外功的相互关系和作用

外功就是一个个的独立工具的运用知识。其实就是一个和理想生活的联络起来的一个载体。运用这些工具,你可以实际你的内功。

由于外功的通用性很高,所以比如说你在java中能完成的数据结构,你可以立刻在C#中复制出一样的数据结构,假设再学了一个新的言语,比如说python,ruby,也能很快完成出一样的数据结构来。由于是相反的。 内功就是你在一个工具外面能完成的东西,在另外的那个工具也能异样完成的东西。

另外,内功学好了,学习新的言语或许工具会很快,这是由于,一切的编程言语和工具都有很多共同点,知识语法改了一改,当然还有一些特有的特性,是要你针对学的。所以假定当你还没有学习java或许C#的时分,你学java需求一年时间,学习C#也异样需求一年时间,但是假设先学习了java后,在学习C#(或先学C#再学java), 两个先后学习的时间总共只需1年2-3个月的时间,而不是2年。这是由于你用Java去学习言语的特性,编程的内功才行。

内功学好了,内功比外功重要,那要学习外功吗? 要,当然要,还要好好的学。由于你是经过外功来学习内功的。没有言语自身,那里表现内功的载体呢。当你把一种言语作为载体,把一切言语的特性都学完了,然后就关注特定言语的特性了,有了内功的基础,这些外功很容易就啃完了,然后详细效果详细剖析处置。比如要跨平台的桌面顺序,用Java;快速网站构建,用PHP;嵌入式编程,用C;网页内编程用javascript; 然后还有不同言语之间的通讯,用json或许xml。

而那些工具,可以辅佐你的编程技巧,减速你的编程速度,提高你的编程质量,是你的编程随心所欲,享用编程带来的乐趣。

总结

编程的学习和提高,应该重点在编程内功上。经过某个编程言语和工具,去学习研讨编程的通用功用和特性上。这样就算未来有新的言语和技术出现,也能很快的顺应新的言语和技术了。

而外功的提高,是可以大大提高自己的任务效率,它和内功相反相成。作为辅佐和外功的载体,也是很重要的。毕竟它能够是一个顺序员吃饭看家领工资最详细的技术表现。

提供最优质的资源集合

立即查看 了解详情