西安IT培训-程序员一般都具有哪些能力呢?
西安鸥鹏IT教育
发表于:2020-02-19 14:48:47记得之前在知乎上看到一个问题:怎么样才能做一个好的程序员?下面的回答五花八门,有说要代码敲得好,少出bug;有说要有沟通能力;还有的说要懂得自律……那么,到底怎么样才能做一个好的程序员呢?程序员一般都具有哪些能力呢?
综合来讲,其实评判一个程序员是否的标准就一个:就是解决问题的能力。
在项目开发中,一个程序员的能力往往就等于其解决问题的能力。比如想有个尺度来衡量这个能力的话,一个程序员的能力可以用能完成任务的规模和难度来衡量。
因为难度上不好那么筒单的划分,并且在一般的项目开发中(非研究性项目),任务的难度主要来自于任务的规模带来的复杂度。
更细致的划分时,函数、类、功能、模块、项目本身也有简单和规模大小之分。
◆一个初学编裎的人总是从小的函数和类开始学习的;
◆一个程序员能基本无误的完成项目中的一个功能算是合格。
在此之前,对项目的生产力为负,即为他布置任务、沟通和为他修补bug的时间其实要多于自己直接完成该功能的时间。也就是说,项目中存在这个水平的程序员纯粹是为了培养人才。
◆能较好完成一个完整模块的程序员算是较好的程序员,也是一般项目中的主要幵发者;
◆能完成整个项目的裎序员才能算是好的裎序员,在多人项目中可做主程。
不过解决问题的能力不是天生就有的,也是通过持续不断的学习培养起来的,那么是什么决定了一个裎序员解决问题的能力呢?
一般来讲,主要有以下几种因素:
知识积累
在同等水平的裎序员之间,一个对某领域问题有所了解,一个对该领域完全不了解,完成该领域同样任务的效率差了不止一个数量级。
这就是我们通常所说的经验的作用,这种经验可以看作是知识积累。—个程序员的知识积累很大程度上决定了其解决问题的能力。
自学能力
这是一个知识大爆炸,知识刷新频率让人无法追赶的时代。
一方面,面对一个稍有难度的任务,难免会有超出自己现有的知识范围的时候,此时自学能力决定了你能多快的完成此任务;另一方面,你的自学能力决定了在平时的工作过程中,你积累知识的多少。
自学能力强的人,即使没有人指点也总能在项目的代码中学到东西;而反过来,学习意愿弱的人写的代码被别人重构后,也不会想想,这段代码是否改的更好了以及为什么。
从较长的尺度上(比如一个人的工作生涯)来看,一个程序员知识积累的多少只决定于其自学能力和他对编程本身的兴趣。
沟通能力
在一个分工明确的项目中,程序员需要和产品(策划)沟通来理解产品,和上级沟通以理解自己的任务,和同事们沟通以正确的理解要接入的模块。
在自己完成模块时让别人正确的理解模块的接口,在不写文档时,正确的口头沟通非常重要,需要写文档时,文档的写作能力也算做是沟通能力的一部分。
以上,就是小编为大家整理的程序员应该具备的能力,希望能够帮助到正在学习的小伙伴!
文中图片素材来源网络,如有侵权请联系删除西安IT培训-程序员一般都具有哪些能力呢? 原创内容,请点击西安电脑与IT培训