几个推荐程序员养成的好习惯

news2024/11/25 10:45:05

本文框架

  • 前言
  • case1 不想当然
  • case2 不为了解决问题而解决问题
  • case3 不留问题死角
  • case4 重视测试环节

前言

中秋国庆双节至,旅行or回乡探亲基本是大家的选择,看看风景或陪陪家人确实是个难得的机会。不过我的这次假期选择了闭关,不探亲,不会友,利用这个假期重新调整总结一下,为2023最后的三个月再奋斗一把。

今天跟大家分享几个工作中的好习惯或者说是心态,虽然道理简单,但却很容易被忽略。
在这里插入图片描述

case1 不想当然

在工作中是不是经常会遇到这种情况:看着自己改的一段代码,想当然的以为改动量不大,自己在开发中考虑的已经非常充分了,认为没必要再去测试或全部测试,代码也不必找同事review,但往往问题就容易在这些地方出问题,而且出的问题恰恰就是被忽略了。

思考:工作中,我们可能会犯一些错误,但千万不要范这种误以为的错误,这种错误特别低级,深究起来也很难解释。

由于人天生的惰性,不愿意多付出多余的精力去干自以为没意义的事情,所以就需要我们不想当然,改了代码就要充分测试,复杂逻辑变动需要约同事去review。

case2 不为了解决问题而解决问题

在开发中,遇到Bug大家是不是有过这种先把问题解决了再说,导致解决了一个Bug又冒出一个新的Bug。比如一个DTC在上电1min中左右会报出来,但上电3min之后就正常了,这时候大家是直接给这个DTC加一个3min的延时诊断,还是说去探究下1min左右会报出来的根本原因,再根据根本原因去解决?

单就上述的case,很多同学肯定会选把根本原因查出来,但实际开发中由于节奏快,任务重,真正遇到的时候可能就不一定会选哪个了,针对这些类似问题我个人的工作习惯是:

情况1:对于时间紧的问题,且验证充分可临时解决的问题,先把问题初步隐藏掉,但初步交付后还是需要尽力去查找问题的根本原因,争取在下一次软件迭代周期将根本问题解决掉;

情况2:对于不太紧急的问题,一定需要查出根本原因,知其然也知其所以然。

case3 不留问题死角

不知道大家也没有听过“墨菲定律”,也就是如果担心某件事情会发生,那么它往往会变得更糟糕,工作中可能的情形就是我们对某处代码可能一直新村疑虑,没彻底捋清楚其中的逻辑,心存疑虑但并没付出行动去攻克它,项目上往往就容易在这块出问题。

我的习惯就是对于自己负责的模块,不管是自己全新开发还是接盘别的同事代码,一定需要从头到尾把代码逻辑梳理清楚,时间充分的话画出对应的流程图,对不熟悉的代码看懂看透。

case4 重视测试环节

开发中,很多同事觉得会写代码才是王道,轻视了测试在整个开发环节的分量,很多问题其实只需要简单测试下就能检查出来,但由于不测试或者测试不充分导致问题报出防线后移,或者直接流到客户端,市场。

我们需要养成重视测试的好习惯,针对我们能想到的case,可能的情形充分测试,降低出错的风险,这样即使后面爆出了问题,至少是我们knowhow不够,而不是我们能避免但自己没测试导致。

加油,每一个为梦想奋斗的人。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手机号码(作为查询参数)格式校验:@PhoneQuery(自定义参数校验注解)

目标 自定义一个用于校验(作为查询参数的)手机号码格式的注解PhoneQuery,能够和现有的 Validation 兼容,使用方式和其他校验注解保持一致。 校验逻辑 可以为 null 或 空字符串;不能包含空格;必须为数字序…

开放式耳机哪个好、百元开放式耳机推荐品牌

开放式耳机以其独特的设计和出色的性能优势,成为许多音乐爱好者的首选。与传统的入耳式耳机相比,开放式耳机给用户带来更加舒适的佩戴体验。无需插入耳道,避免了长时间佩戴带来的不适感,让你可以尽情享受音乐而不受干扰。此外&…

Codeforces Round 901 (Div. 1) B. Jellyfish and Math(思维题/bfs)

题目 t(t<1e5)组样例&#xff0c;每次给出a,b,c,d,m(0<a,b,c,d,m<2的30次方) 初始时&#xff0c;(x,y)(a,b)&#xff0c;每次操作&#xff0c;你可以执行以下四种操作之一 ①xx&y&#xff0c;&为与 ②xx|y&#xff0c;|为或 ③yx^y&#xff0c;^为异或 …

心连心,同一个地方,同一个程序员

Hi,all, 现在开始所有一线城市和二线城市建立程序员交流群,为了防止病毒以及一些丧心病狂的广告人士,现在各大群以程序员为基础,入群者必须为程序员,严谨广告和僵尸人士入群,有想加群者加我微信,备注城市。比如想加入南京程序员交流群,备注南京,或者微信聊天窗口私聊…

基于 QT 实现一个 Ikun 专属桌面宠物

Step0、实现思路 想到的思路有两种&#xff1a; 1、使用 QT 的状态机模式&#xff0c;参考官网文档&#xff0c;这个模式的解耦最佳 2、使用原生 Wigets&#xff0c;将窗口设置为透明无框&#xff0c;循环播放桌面宠物的状态 本文采用第二种思路&#xff0c;实现一个极简版…

湖南特色农产品销售系统APP /基于android的农产品销售系统/基于android的购物系统

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的APP应运而生&#xff0c;各行各业相继进入信息管理时代&#x…

ThreeJS - 封装一个GLB模型展示组件(TypeScript)

一、引言 最近基于Three.JS&#xff0c;使用class封装了一个GLB模型展示&#xff0c;支持TypeScript、支持不同框架使用&#xff0c;具有多种功能。 &#xff08;下图展示一些基础的功能&#xff0c;可以自行扩展&#xff0c;比如光源等&#xff09; 二、主要代码 本模块依赖…

毕业设计选题uniapp+springboot新闻资讯小程序源码 开题 lw 调试

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人七年开发经验&#xff0c;擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等&#xff0c;大家有这一块的问题可以一起交流&#xff01; &#x1f495;&…

【QT】自定义组件ui类添加到主ui界面方法

1.添加自定义组件到项目中 add new选择如下 写好类方法&#xff0c;确定即可 2.将新创建的ui类加入到主ui界面 选中新创建ui类的父类空块&#xff0c;右键选择提升为 选择并添加新创建的类

Tomcat Servlet

Tomcat & Servlet 一、What is “Tomcat”?二、 What is “Servlet”?1、HttpServlet2、HttpServletRequest3、HttpServletResponse 一、What is “Tomcat”? Tomcat 本质上是一个基于 TCP 协议的 HTTP 服务器。我们知道HTTP是一种应用层协议&#xff0c;是 HTTP 客户端…

PWN 基础篇 Write Up

PWN 05 解题过程 给了两个文件&#xff0c;一个是asm后缀&#xff0c;汇编代码文件&#xff0c;另外一个file看看&#xff0c;32位i静态编译可执行文件 分析一下汇编代码&#xff0c;里面包含有两个节&#xff0c;data节 该代码片段只展示了数据段的一部分&#xff0c;缺少了…

[VIM]VIM初步学习-3

3-1 编写 vim 配置&#xff0c;我的 vim 我做主_哔哩哔哩_bilibili

【GESP考级C++】1级样题 闰年统计

GSEP 1级样题 闰年统计 题目描述 小明刚刚学习了如何判断平年和闰年&#xff0c;他想知道两个年份之间&#xff08;包含起始年份和终止年份&#xff09;有几个闰年。你能帮帮他吗&#xff1f; 输入格式 输入一行&#xff0c;包含两个整数&#xff0c;分别表示起始年份和终止…

(四)动态阈值分割

文章目录 一、基本概念二、实例解析 一、基本概念 基于局部阈值分割的dyn_threshold()算子&#xff0c;适用于一些无法用单一灰度进行分割的情况&#xff0c;如背景比较复杂&#xff0c;有的部分比前景目标亮&#xff0c;或者有的部分比前景目标暗&#xff1b;又比如前景目标包…

数量关系 --- 方程

目录 一、代入排除法 例题 练习 二、数字特性 例题 练习 整除特性 例题 倍数特性 普通倍数 因子倍数 比例倍数 例题 练习 三、方程法 例题 练习 四、 不定方程&#xff08;组&#xff09; 例题 练习 一、代入排除法 例题 素数&#xff1a…

以32bit加法器为核心的加法、减法、乘法和除法计算器(ALU)

1 任务概述 实现一个以加法器为核心的计算器。 加法&#xff1a;能够实现32bit加法 减法&#xff1a;能够实现32bit减法 乘法&#xff1a;能够实现两个32bit数字的乘法&#xff0c;乘积为64bit 除法&#xff1a;能够实现两个32bit无符号数的除法&#xff0c;商为32bit&#xf…

一款简化Python自然语言处理的开源库

迷途小书童 读完需要 3分钟 速读仅需 1 分钟 1 简介 TextBlob 是一个 Python 库&#xff0c;用于处理文本数据的自然语言处理&#xff08;NLP&#xff09;任务。它提供了简单且易于使用的 API&#xff0c;使得对文本进行分析、情感分析、词性标注、名词短语提取等任务变得更加简…

ARP和DDOS攻击防御介绍

ARP攻击如何产生的&#xff1f; ARP如何进行有效的防御&#xff1f; ARP地址解析协议 已知对方ip地址&#xff0c;求得对方mac地址 交换机会自动学习&#xff1a; 当pc1想访问外网&#xff0c;会向外发一个广播包&#xff0c;交换机会收到一个广播包 ARP地址表&#xff1a; …

Netgear R6700v3 1.0.4.102(CVE-2021-27239)

漏洞信息 此漏洞允许网络相邻攻击者在受影响的NETGEAR R6400和R6700固件版本1.0.4.98路由器上执行任意代码。利用此漏洞不需要身份验证。该漏洞存在于upnpd服务中&#xff0c;upnpd服务默认监听UDP 1900端口。SSDP消息中精心制作的MX报头字段可能会触发固定长度的基于堆栈的缓…

Python教程:PyQt5需要学习,哪些知识点??

PyQt5是基于图形程序框架Qt5的Python语言实现&#xff0c;由一组Python模块构成。它可用于Python 2和3&#xff0c;拥有超过620个类和6000个函数和方法。这是一个跨平台的工具包&#xff0c;可以运行在所有主要的操作系统&#xff0c;包括UNIX、Windows、Mac OS、Linux等。 #我…