成都做网站公司,淘宝做网站的公司,建设银行江苏省分行网站,网站设计高端网站制作一、前言
写了20多年代码#xff0c;我见过不下于4位数的程序员#xff0c;我觉得程序员的能力水平可以分为4个阶段#xff1a;线性级、逻辑级、架构级和工程级。
同样的在这些人当中#xff0c;我也发现了8个程序员最常见的陋习#xff0c;基本上可以覆盖90%的人#…一、前言
写了20多年代码我见过不下于4位数的程序员我觉得程序员的能力水平可以分为4个阶段线性级、逻辑级、架构级和工程级。
同样的在这些人当中我也发现了8个程序员最常见的陋习基本上可以覆盖90%的人其中说不定就有你哦。
文章目录 一、前言二、4个能力水平 1.线性级2.逻辑级3.架构级4.工程级 三、8个陋习 1.自我2.封闭3.惯性4.沟通障碍5.一叶障目6.工作量估计乐观7.拒绝变化8.拒绝重构 四、结语 二、4个能力水平
1.线性级
线性级程序员的思维很简单写程序的时候就像盖房子似的一块砖一块砖往上垒的但是他不知道后面会垒成什么样可能越垒越庞大后面的代码组织和管理等会越来越混乱最后导致后面的很多程序修改和维护很麻烦。
2.逻辑级
对于逻辑级程序员已经掌握了一些算法理论基础并且对于业务世界的逻辑有一个清楚的把握能能够撰写出一些很好的模块和和函数而且逻辑比较严密bug比较少的这样的一个状态。
3.架构级
对于架构级程序员因为除了对程序语言本身的了解和把握以外还要对现实世界的所要解决的业务逻辑有一个清楚的把握和了解。
这样的话才能够对软件进行架构和分层然后指导团队的其他成员来按照统一的目标来不断的实现。 4.工程级
对于工程级程序员因为本身软件开发不仅仅是开发本身这里面还有很多其他的项目管理的要素在里面。
比如说刚才提到的计划、组织、管理和控制如果有了一些项目管理的指导和原则的话那么对于一个软件工程的过程管理就会有一个一览众山小的状态。 接下来我们来说一下90%的程序员多少都会有的陋习。 三、8个陋习
根据以前的工作经验呢我觉得程序员身上的这些陋习是阻碍程序员进步的最大的一个障碍。
1.自我
那么首先程序员因为本身是一个脑力活动者他那个是一个很重要的特性就是非常自我。
很多时候就是说撰写代码的时候基本上是不愿意去听从别人的意见和建议的。 2.封闭
有的程序员很封闭也就说它不够开放。
如果是用一种开放和交流的心态来跟其他程序上来进行交互的话那么这样的相互取得的促进效果会是非常明显的。
3.惯性
有一些有经验的程序员会有一些工作的惯性经常会说我以前是怎么这么做的、“我以前是这样这样做的我就觉得你现在这样做的不对”… 其实这种惯性也是阻碍沟通的一种很大的问题。
4.沟通障碍
这是比较显著的一类陋习因为程序员整天面对电脑、只跟机器交互所以说去跟其他产品经理和其他测试等等一些这些人去交流的时候会有很明显的沟通障碍。
5.一叶障目
这是最大的问题就是说程序员经常一叶障目只看到自己眼前的工作。
比如说有一些团队协作开发的任务的时候呢只依据自己为中心。那么对于别人的一些请求尤其有一些交互性、复杂的网络接口开发时经常会下意识地去拒绝别人。 6.工作量估计乐观
还有一个最重要的问题就是说经常会把工作量估计漏完。
比如说拿到一个需求的时候好我一个星期就能完成结果真正的实现的时候呢发现需要花两到三周乃至更长的时间来实现这项工作任务。
7.拒绝变化
对于需求的变更来讲的话程序员的很大心态是有逆反心理的。
当我正在撰写一个东西的时候发现需求变更了就会产生一种阻碍心态来拒绝变化。
但是拒绝变化的前提应该先进行客观、合理的分析和判断最后再给出答案。其实它应该是要仔细衡量本身这个变化影响不影响我目前的软件体系和架构对我的工作量的增加有多大这需要有一个好的估量来决定这个变化的取舍。 8.拒绝重构
最后且最重要的一个问题就是说很多时候我们是拒绝重构的因为这个重构有些时候是很难取舍的一个问题。
比如说经常会想哎呀我原来写的这个软件体系结构跟后面的整个实现过程中变化会越来越大而且信息学、新需求进来的时候呢我就很难再保持一个良好的这样的一个体系结构。那么经常会纠结我是重构呢还是按照这个原来的路敲敲打打呢 是否重构其实是需要根据实际性的。比如尤其我前几个月写的一个电商系统我也是经常处于这种心态我也在纠结到底重不重构的后来一咬牙一闭眼还是重构了。
重构的话前期可能会花费点时间但是能够在后期保证我这个软件的目标实现且拥有一个清晰、完整的架构和体系结构并且后期会达到一个易于维护的这样的一个状态。 感谢你们的阅读和喜欢我收藏了很多技术干货可以共享给喜欢我文章的朋友们如果你肯花时间沉下心去学习它们一定能帮到你干货内容包括 今天的内容就分享到这里如果你喜欢这篇文章的话麻烦请动动你的手点个赞或者点个关注吧这将是我最大的动力谢谢这里有我以前整理的大量自学资料 # 需要的可以点这里自取:网安入门到进阶资源