程序员的本质是解决实际问题,和是不是粘贴复制没有多大的关系,在实际编程中特别是应用级的开发复制粘贴的比例一定少不了,特别是一些常见的编程模式或者方法,如果有现成代码当然可以直接拿过来去使用,没有必要重新去写,现在就在多年的软件开发经验,常见的程序员编写代码一般有几种方式
1.初级入门阶段的程序员
主要经历还想着如何能实现,属于挣扎在温饱线上的还在为一些简单功能的实现代码而愁眉苦脸,初级的程序员为了实现一个简单的排序功能还要在网上搜例子,最好能找个直接能够拿来使用的例子,然后对着例子研究如何实现的,如果让自己单独去写是不是能够完成,基本上刚入行一年的程序员都属于这种状态,代码绝大部分是从网络上搜到一些源码在心里没底的情况下,拿过来验证使用,还在琢磨着如何实现最基本的功能而苦恼。
2.能独立做单元模块的工程师
这个阶段的软件工程师已经具备独立做小模块的能力,知道大概如何去做,自己先构思一个基本的框架,或者干脆全部的代码直接全部自己来搞定,或者在网上找到能够和自己功能匹配的代码,然后根据自己的想法进入进去,不影响整体的功能,这个时候复制粘贴的代码已经为我所用了,对于常见的代码已经具备自己的独立思考能力,已经在慢慢渗透是不是有更好的实现代码,在琢磨着代码如何能高效的实现,这个阶段对于代码实现时间已经相比第一阶段压缩了许多了。目前国内的程序员绝大部分处于这种阶段。
3.把代码当作工具使用
编程思路为主导的阶段,这个阶段的程序员基本上很少提及代码的实现,琢磨着实现的功能如何高效有用,在表面上这帮人平时就是上网看看资料或者看看别人写的代码很少拿出大块的时间在琢磨着如何写代码,代码到了一定层面就是工具般的存在,为了实现一种场景可以不受到编程语言的限制,很多人觉得掌握的编程语言越值钱的这种理论是不存在的,编程里面最值钱的是编程思想以及实际解决问题的能力,可能我们在平时的编程工作中经常有这么一帮人在公司就是定海神针般的存在,只要遇见难的问题就推给他们,基本上都能给出解决问题的方案。
4. 研究轮子甚至造轮子的工程师
这种属于架构师级别,有点夸张的甚至都没怎么写过代码,完全的设计模式,当然绝大部分的架构师都是写代码出身,而且本身代码基本功非常强,常见的大大小小的功能实现起来也不在话下。平时就是研究框架的如何实现,如何能够稳定的运行起来,是不是能够构造出新的组合或者框架,平时大部分的时间不一定是在盯着代码看,主要还是分析软件运行内在规律。
复制粘贴在平时的工作中使用的非常常见,也没有必要拿出来大作文章,编程最直接的结果是最简单方式解决问题,没有必要为了显示自己能力的强大而去所有的代码都要自己去写。编程目的是打造产品,为生活提供更多的便利。如果你对Python感兴趣,可以来了解一下