计算机是一门实践性的科学,没有动手能力做支撑,很难做出好的科研成果。没有写过足够代码量的,想成为高手是不可能的,计算机技术更新换代非常快,每年都有各种各样的新技术出现。需要时刻保持好奇心,不断学习各种新的东西,一名好程序员需要什么样的标准?
在项目开发中,一个程序员的能力等于其解决问题的能力。假如想有个尺度来衡量这个能力的话,一个程序员的能力可以用能完成任务的规模和难度来衡量。因为难度上不好那么筒单的划分,并且在一般的项目开发中 (非研究性项目),任务的难度主要来自于任务的规模带来的复杂度,这里把任务从规模上大致的划分为1个函数=>1个 类=>1个功能=>1个模块=>1个项目。更细致的划分时,函数、类、功能、模块、项目本身也有简单和规模大小之分。
知识积累:在同等水平的裎序员之间,一个对某领域问题有所了解,一个对该领域完全不了解,完成该领域同样任务的效率差了不止一个数量级。这就是我们通常所说的经验的作用,这种经验可以看作是知识积累。—个程序员的知识积累很大程度上决定了其解决问题的能力。
自学能力:自学能力强的人,即使没有人指点也总能在项目的代码中学到东西;而反过来,学习意愿弱的人写的代码被别人重构后, 也不会想想,这段代码是否改的更好了以及为什么。
一 方面,面对一个稍有难度的任务,难免会有超出自己现有的知识范围的时候,此时自学能力决定了你能多快的完成此任务;另一方面,你的自学能力决定了在平时的工作过程中,你积累知识的多少。
沟通能力:在一个分工明确的项目中,程序员需要和产品(策划)沟通来理解产品,和上级沟通以理解自己的任务,和同事们沟通以正确的理解要接入的模块。在自己完成模块时让别人正确的理解模块的接口,在不写文档时,正确的口头沟通非常重要,需要写文档时,文档的写作能力也算做是沟通能力的一部分。
IT行业技术更新的比较快,所以我们肯定是学现在企业需要的技术,而不是一些已经淘汰的技术。一名好的程序员有哪些标准,你应该了解你现在需要学哪些技术,这些将是你要攻克的内容。