IT程序员的雷区都有哪些?你踩了哪些?

 软件行业的工作经验和从事这个行业的工作年限直接相关。但从事这项工作的年限并不一定代表获得了相同年限的工作经验。

根据开发人员的习惯可以非常明显地分辨出谁更专业谁更业余。深入剖析下业余程序开发人员的种种表现,每个程序开发人员都应该引以为戒,这些错误会阻碍程序员的职业发展。那么关于IT程序员的坏习惯接下来我们就一起来看看~

一、一次提交大量代码

是否碰到过一次性提交大量代码的人,看到的人都不想给他做代码评审。不专业的开发人员就会这样做。他们会在一次代码评审请求中包含多个模块的修改,而且会催促优先评审他们的代码。能不急吗?排到后边还需要解决代码冲突的问题。这个问题在很多高级开发工程师中也存在,他们在功能开发期间不做任何提交,只有在功能彻底完工后才会提交所有修改,于是代码评审中的任何意见都会引起大量的修改。

当碰到这种代码评审请求时,首先做的是要求提交者按功能模块将其拆分成多个小的请求。只会对 issues(任务管理系统)中的第一个功能需求评审,然后将其转回提交者。如果有时间,会和提交者连线进行代码实时评审。

如何改变坏习惯?进行小的代码提交。一个好的做法是:每个工作日都进行代码提交。不要提交没有编译或者会导致构建失败的代码。

二、代码写的不符合规范

缺乏经验的开发人员写不出漂亮的代码,他们写出的代码会很混乱,而且分布在代码库的各个部分。当阅读这类代码时会感觉自己身处一座迷宫之中。会逐渐忘记自己是从什么地方开始的要寻找什么以及这段代码完成了什么功能。

有经验的开发人员知道代码如何设计。除非要开发的功能显而易见,首先需要在纸上写出对需求的理解并画出流程图,在脑海里对这段代码进行一个完整的构思。除非彻底弄清楚了如何修改,否则不要开始代码编写。如果不遵守以上的规则,当回顾自己完成的代码时会非常痛苦。以后如果需要修正问题或者增加功能也会变得非常棘手。

如何改变坏习惯?编写代码之前对要实现的功能有个清晰的了解。为了清楚地理解需求,需要尽量多问问题。让的代码简洁而优雅。其他团队成员可以读懂代码并理解它打算做什么。

三、同时开展多项工作

缺乏经验的开发人员不知道什么时候开始一项任务、如何推进、什么时候结束。他们试图并行处理多项任务。他们不知道如何将一项大任务分解为小的模块,从而减轻实现的难度。当他们收到一项任务时,并不是第一时间和上级确认需求,而是立刻就开始编程,而且在做任务期间,也不会和上级就任务进度进行沟通。只有当任务完成时,他们才会向反馈。到那个时候,只能祈祷他们完成的功能就是想要的。

缺乏经验的开发人员的另一个表现是同时推进多项任务,他们会同时处理多项事情,如:实现多个没有太大联系的功能点、解决生产环境问题、协助其他同事工作等。从他们那里得不到有效的产出。虽然他们的态度和出发点是好的,但对整个团队造成的后果是灾难性的,浪费了很多的时间,导致团队得日夜赶工。

如何改变坏习惯?专注完成小的任务。将收到的任务分解为小块,明确需求的优先级,一小块一小块地完成。领取一项任务,完成后再开始新的任务。

四、态度傲慢缺乏合作精神

对于缺乏经验的开发人员,傲慢是非常致命的。傲慢会导致他们不能接受别人的批评和建议。当对他们的代码或者陈述给出意见时,他们会认为是在质疑他们的能力。许多新人由于无知,都会表现出这种傲慢。刚走出校门的他们充满自信,并没有意识到他们在学校学到的东西离社会要求还有很大差距。这些人中的聪明者会很快调整自己,以归零的心态,努力学习并适应公司文化。

其实不只是新人一些有几年工作经验的开发人员也会表现出傲慢,一部分原因是其满足于个人获得的专业成就,另一部分可能的原因是其缺乏和优秀的人共事的机会。此外,傲慢的行为也从另一方面证明这样的开发人员确实缺乏经验。这样的行为会对他们的职业发展造成很多阻碍,因为没有人喜欢和一个傲慢的人共事。当成长变慢时他们不会从自身找原因而是更多的归罪于别人。

如何改变坏习惯?在前行的路上保持谦卑。礼貌地对待别人会让在软件开发职业生涯中走得更远。尊重每一个人。出现分歧后在发表意见时不管对方是什么身份都要尊重对方。

五、不能从之前的错误中学到经验

对于软件开发人员反馈机制是一个很有效的工具。来自他人的反馈,会让们明白自己的短板是什么以及如何去改进。一个聪明的开发人员明白如何借助他人反馈来促进自己的成长。根据一个开发人员对建设性意见的反应,可以判断出他是否缺乏经验。缺乏经验的开发人员不接受任何建设性的建议,甚至代码评审中的评论,他都会认为是对他个人的一种攻击。

很多年前,有一个同事给写了很长的一封邮件,教如何来评审代码,他对给他代码的评论感到愤怒。他的主要观点是不应该关注编码标准,因为他知道如何编码,应该只关注代码能否满足功能需求。如果一个开发人员因为别人对他代码给出的评论,而感觉被冒犯,只能表明他不具有真正的开发经验。他抱着做一天和尚撞一天钟的态度工作,却感慨没有遇到赏识自己的伯乐。

如何改变坏习惯?对每个反馈保持积极的态度。对于每个反馈,可以选择是接受还是拒绝,但拒绝之前要保持心平气和的态度。从错误中学习。没有人能永远正确,保持终身学习才能让自己持续强大。

微信截图_20240702144357.png

六、盲目追逐技术潮流

开发人员缺乏经验的另一个表现是面对技术潮流的态度。会发现他们总是在谈论技术潮流,当有一个新的潮流出现时,他们会立刻丢弃原来的潮流,投入新的怀抱。缺乏经验的开发人员总是在学习教程。

毫无疑问,教程是很有用的学习工具,但是,不进行任何实践而只是按照教程一步步操作无疑是浪费时间。它会让虚幻地觉得自己好像都掌握了,但是知识是否掌握了,需要通过真实的项目进行检验。

我将自己的身份首先视为程序员,第二身份才是编程语言专家,因为总有一天我们现在使用的所有编程语言将不再被使用。比如我从80年代开始使用的某些形式的程序集代码,这些代码现在大部分都已经不存在了。这将发生在任何技术上,无论其自身好坏。总会有一天,没有人会再使用Java。

而另一方面,编程语言有一个广泛的范例,存在着相似的族谱。所以,如果你知道一种和另一种语言相似的语言,那么学会这种语言就很容易。

低代码也是一个值得我们深入探索的领域,让我们拭目以待,它将给前端世界带来怎样的变革。

这是一个基于 Java Boot/.Net Core 构建的简单、跨平台快速开发框架。前后端封装了上千个常用类,方便扩展;采用微服务、前后端分离架构,集成了代码生成器,支持前后端业务代码生成,满足快速开发;框架集成了表单、报表、图表、大屏等各种常用的 Demo 方便直接使用;后端框架支持 Vue2、Vue3,平台即可私有化部署,也支持 K8S 部署。

官网体验地址:https://www.jnpfsoft.com​

微信截图_20240709110711.png

缺乏经验的开发人员会因为自己的效率低下进而降低整个团队的效率。他对待自己工作的错误态度,会让其在职业发展中错失很多机会。了解并避免这种错误的态度和工作方式,是聪明人的做法。如果不幸染上了这些坏习惯,随着时间的推移,会越来越难以摆脱。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/383325.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎样在 Nginx 中配置基于请求客户端屏幕尺寸的路由?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会! 文章目录 怎样在 Nginx 中配置基于请求客户端屏幕尺寸的路由?一、为什么要基于屏幕尺寸进行路由?二、准备工作三、获取客户端屏幕尺寸信息四、配置…

经纬恒润与奇瑞汽车签订新能源项目重点供应商合作协议,共同开启合作新篇章

近日,2024年国家级芜湖经开区汽车零部件生态大会成功举行,经纬恒润受邀出席,与行业各伙伴齐聚经开区,同绘发展蓝图,助力经开区汽车产业高质量发展。会上,经纬恒润与奇瑞汽车签署合作协议,成为奇…

el-image预览图片点击遮盖处关闭预览

预览关闭按钮不明显 解决方式: 1.修改按钮样式明显点: //el-image 添加自定义类名,下文【test-image】代指 .test-image .el-icon-circle-close{ color:#fff; font-size:20px; ...改成很明显的样式 }2.使用事件监听,监听当前遮…

npm下载pnpm

一、提供node_global和node_cache的文件夹 若不存在,可自行新建文件夹 二、配置环境变量 配置NODE_PATH变量: 配置Path变量: 三、执行cmd指令 npm config set prefix "D:\Configure\nodejs\node_global" npm config set cache &…

Redis的缓存问题:缓存穿透、缓存击穿和缓存雪崩

目录 一、缓存穿透 1、问题描述 2、解决方案 二、缓存击穿 1、问题描述 2、解决方案 三、缓存雪崩 1、问题描述 2、解决方案 3、雪崩案例 一、缓存穿透 1、问题描述 缓存穿透指的是⼤量请求的 key根本不存在于缓存中,每次针对此key的请求从缓存获取不到…

单证不一致清关难题 | 国际贸易综合服务平台 | 箱讯科技

什么是单证一致? 单证一致出口方所提供的所有单据要严格符合进口方开证银行所开信用证的要求,或者说出口方制作和提供的所有与本项货物买卖有关的单据,与进口方申请开立的信用证对单据的要求完全吻合,没有矛盾。 添加图片注释&am…

springboot整合 knife4j 接口文档

第一步&#xff1a;引入依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.4.0</version></dependency> 第二步&#xff1a;写入配置 方…

前端文件下载word乱码问题

记录一次word下载乱码问题&#xff1a; 用的请求是axios库&#xff0c;然后用Blob去接收二进制文件 思路&#xff1a;现在的解决办法有以下几种&#xff0c;看看是对应哪种&#xff0c;可以尝试解决 1.将响应类型设为blob&#xff0c;这也是最重要的&#xff0c;如果没有解决…

《梦醒蝶飞:释放Excel函数与公式的力量》18.1 图表类型与设计

第18章&#xff1a;创建图表和数据可视化 18.1 图表类型与设计 Excel提供了多种图表类型&#xff0c;帮助用户以直观的方式展示数据。选择合适的图表类型和设计可以显著提高数据的可读性和理解度。以下将介绍常见的图表类型及其应用&#xff0c;并通过具体案例进行说明。 18.…

C语言 ——— 函数指针数组的讲解及其用法

目录 前言 函数指针数组的定义 函数指针数组的使用 前言 数组是存放一组相同类型数据的存储空间 关于指针数组的知识请见&#xff1a;C语言 ——— 指针数组 & 指针数组模拟二维整型数组-CSDN博客 那么要将多个函数的地址存储到数组中&#xff0c;这个数组该如何定义…

FreeSWITCH 1.10.10 简单图形化界面26-在网页上播放SIP设备视频

​ FreeSWITCH 1.10.10 简单图形化界面26-在网页上播放SIP设备视频 1、前言2、大概流程3、测试环境4、安装流媒体服务器5、设置流媒体服务器接口6、简单写个web接口7、测试一下1、web播放在线播放器1在线播放器2本地video控件 2、vlc播放vlc播放rtmpvlc播放rtsp 8、总结 1、前…

C语言数据结构课设:基于EasyX前端界面的飞机订票系统

数据结构课程设计说明书 学 院、系&#xff1a; 软件学院 专 业&#xff1a; 软件工程 班 级&#xff1a; 学 生 姓 名&#xff1a; 范 学 号&#xff1a; 设 计 题 目&#xff1a; 飞机订票系统 起 迄 日 期: 2024年6月18日~ 20…

没有51基础,能不能学好STM32?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「STM32的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 我们通常准备攻读一本大部…

宠物医院管理系统视频介绍

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

vue学习day12-声明式导航续、路由重定向、Vue路由-404、Vue路由-模式设置、编程式导航

34、声明式导航续 &#xff08;4&#xff09;跳转传参 1&#xff09;跳转传参 ①语法&#xff1a; 传递&#xff1a;to“/path?参数名值” 接收&#xff1a;如果在模版里&#xff0c;通过$route.query.参数名获取&#xff0c;如果在js代码里&#xff0c;通过this. $route…

scrapy爬取城市天气数据

scrapy爬取城市天气数据 一、创建scrapy项目二、修改settings,设置UA,开启管道三、编写爬虫文件四、编写items.py五、在weather.py中导入WeatherSpiderItem类六、管道中存入数据,保存至csv文件七、完整代码一、创建scrapy项目 先来看一下爬取的字段情况: 本次爬取城市天…

HarmonyOS持久化存储数据Preference

Preference首选项 首选项&#xff1a;首选项为应用提供Key-Value键值型的数据处理能力&#xff0c;支持应用持久化轻量级数据&#xff0c;并对其修改和查询。数据存储形式为键值对&#xff0c;键的类型为字符串型&#xff0c;值的存储数据类型包括数字型、字符型、布尔型以及这…

VirtualSurveyor9.0.3 无人机测绘软件功能介绍

Virtual Surveyor9.0.3中文版是功能强大的无人机测绘软件&#xff0c;使用旨在为用户提供完整的地理空间数据可视化和分析功能&#xff0c;带来提高的生产力&#xff0c;功能全面而强大&#xff0c;在无人机到CAD模型的过程中&#xff0c;使用Virtual Surveyor软件来拆卸输送机…

MySQL4.索引及视图

1.建库 create database mydb15_indexstu; use mydb15_indexstu;2.建表 2.1 student表学&#xff08;sno&#xff09;号为主键&#xff0c;姓名&#xff08;sname&#xff09;不能重名&#xff0c;性别&#xff08;ssex&#xff09;仅能输入男或女&#xff0c;默认所在系别&a…

数据结构的概念和术语

目录 一.前言 二.数据结构的基本概念 三.数据结构的术语 一.前言 数据结构是一门研究非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作的学科。数据结构的基本数据结构包括两部分&#xff0c;线性结构跟非线性结构。 二.数据结构的基本概念 数据结构主要包括…