前言在我十几年的一线开发生涯中,我对写代码的程序员非常熟悉。一个程序员的能力水平如何,就看他怎么写代码了。在我看来,程序员基本上可以分为4个能力层次:线性层次、逻辑层次、架构层次和工程层次。程序员在写代码的过程中往往会有一些不好的习惯,包括一路跌跌撞撞的我自己。有8个很常见的坏习惯。今天,我将向您介绍它们。看看你有没有这样的习惯!一、程序员的4个能力等级1、线性等级线性等级的程序员的思维很简单。写程序就像盖房子,一块块砌砖,但他不知道后面会怎么样,可能会越建越大,后续的代码组织和管理也会越来越多比较混乱,最终会导致很多后续程序的修改和维护都很麻烦。2.逻辑级逻辑级程序员,掌握了一些算法的理论基础,对业务世界的逻辑有清晰的把握,可以写出一些不错的模块和功能,而且逻辑比较严密,bug少相对而言,这样的状态是很少见的。3.架构层面对于架构层面的程序员来说,除了对编程语言本身的理解和掌握之外,还需要对现实世界中要解决的业务逻辑有清晰的把握和理解。只有这样,才能将软件结构化、分层化,进而引导团队其他成员按照统一的目标不断实现。4.工程级对于工程级程序员来说,因为软件开发本身不仅仅是开发本身,还有很多项目管理的其他要素在里面。比如刚才提到的计划、组织、管控,如果有一些项目管理的指导方针和原则,那么软件项目的过程管理就会有一种“一览众山小”的状态。2、程序员常见的8个坏习惯根据以往的工作经验,我认为程序员的这些坏习惯是阻碍程序员进步的最大障碍。1.自我所以首先因为程序员是脑力劳动者,他有一个很重要的特征,就是非常自我。很多时候就是在写代码的时候,基本上不愿意听取别人的意见和建议。2.封闭有的程序员很封闭,就是不够开放。如果用开放和交流的态度与其他节目进行互动,那么这样的相互促进效果会非常明显。3、惯性有些有经验的程序员会有一些工作惯性,经常会说“我以前是怎么做到的”、“我以前都是这样干的,我觉得你现在做的不对”。.....其实,这种惰性也是阻碍交流的一大问题。4.沟通障碍这是比较明显的一类坏习惯,因为程序员整天面对电脑,只和机器打交道,所以在和其他产品经理、其他测试人员等沟通的时候,就会出现很多问题。明显的沟通障碍。5、一叶障目这是最大的问题,也就是说,程序员往往一叶障目,只看到眼前的工作。比如有一些团队协作开发任务的时候,只是以自己为主。那么对于别人的一些请求,尤其是在开发一些交互复杂的网络接口的时候,我们往往会下意识地拒绝别人。6.乐观的工作量估算还有一个最重要的问题,就是工作量估算经常被漏掉。比如我拿到一个需求,嗯,我一周就可以完成结果。当真正实现时,我发现需要两到三周甚至更长的时间才能完成任务。7.拒绝改变对于需求的改变,程序员很大的心理就是叛逆。当我在写东西的时候,发现需求变了,我就会产生一种抵触的心态,拒绝改变。但拒绝改变的前提应该是先客观合理的分析判断,最后给出答案。其实应该仔细衡量这个变化的影响是否会影响到我现在的软件系统和架构?我的工作量增加了多少?这需要一个很好的估计来决定这个变化的权衡。8.拒绝重构最后也是最重要的一个问题就是我们经常拒绝重构,因为这种重构有时候是一个难以取舍的问题。比如我经常想,哎呀,我原来写的软件架构,在后面的实现过程中会越来越多的变化,当信息学和新的需求进来的时候,我就很难维护好架构了。这样的架构。然后经常纠结,到底是重构还是走原来的路?是否重构其实需要根据我的实际情况。比如,尤其是我几个月前写的一个Android游戏,我经常会出现这种状态,我也在纠结到底要不要重构?后来,我咬牙闭上眼睛重建了起来。对于重构来说,前期可能需要一些时间,但是可以保证后期我的软件的目标实现,并且有一个清晰完整的架构和架构,会达到一个容易维护的状态在后期。上面说的坏习惯,其实是大部分程序员的天性。我们需要在工作中慢慢改进。首先,我们要认识到这是一个坏习惯,有意识地不断改正自己,用良好的心态去应对。避免这些问题的发生。
