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

本文框架

  • 前言
  • 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.mzph.cn/news/93149.shtml

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

相关文章

【Python基础】常用模块学习:sys|os|pytest

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

Python|OpenCV-如何给目标图像添加边框(7)

前言 本文是该专栏的第7篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在使用opencv处理图像的时候,会不可避免的对图像的一些具体区域进行一些操作。比如说,想要给目标图像创建一个围绕图像的边框。简单的来说,就是在图片的周围再填充一个粗线框。具体效果,…

快速开发微信小程序之一登录认证

一、背景 记得11、12年的时候大家一窝蜂的开始做客户端Android、IOS开发,我是14年才开始做Andoird开发,干了两年多,然后18年左右微信小程序火了,我也做了两个小程序,一个是将原有牛奶公众号的功能迁移到小程序&#x…

centos7卸载docker

菜鸟教程-常见命令:https://www.runoob.com/docker/docker-command-manual.html 1. 准备工作: 1.1 杀死docker有关的容器: docker kill $(docker ps -a -q)1.2 删除所有docker容器: docker rm $(docker ps -a -q)1.3 删除所有d…

简单走近ChatGPT

目录 一、ChatGPT整体背景认知 (一)ChatGPT引起关注的原因 (二)与其他公司的竞争情况 二、NLP学习范式的发展 (一)规则和机器学习时期 (二)基于神经网络的监督学习时期 &…

房产政策松绑,VR看房助力市场回春

近日房贷利率、房产限购开始松绑,房地产市场逐渐被激活,房产行业的线上服务能力,也愈发的受到了重视。随着房贷利率、首付比例变化的消息逐渐推出,部分用户开始入手房产市场,因此房产行业的线上服务也需要不断升级&…

leetCode 122.买卖股票的最佳时机 II 贪心算法

122. 买卖股票的最佳时机 II - 力扣(LeetCode) 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买&…

gitlab配置webhook限制提交注释

一、打开gitlab相关配置项 vim /etc/gitlab/gitlab.rb gitlab_shell[custom_hooks_dir] "/etc/gitlab/custom_hooks" 二、创建相关文件夹 mkdir -p /etc/gitlab/custom_hooks mkdir -p /etc/gitlab/custom_hooks/post-receive.d mkdir -p /etc/gitlab/custom_h…

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

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

vue3学习实战

vue3新增变化 diff算法变化 vue3的diff算法没有vue2的头尾、尾头之间的diff,对diff算法进行了优化,最长递归子序列。 ref VS reactive ref 支持所有的类型,reactive 支持引用类型,array object Map Setref取值、赋值&#xff…

步力宝科技爆款产品定位,开创智能物联网新商业

数据显示,中国处于 “亚健康”状态人口数量约占总人口的70%,亚健康是一种临界状态,指介于健康和疾病之间的状态。亚健康是一个动态演变的过程,既有向慢病发展的趋势,也能通过合理的干预使人体重返健康状态,…

奥斯卡·王尔德

奥斯卡王尔德 奥斯卡王尔德(Oscar Wilde,1854年10月16日—1900年11月30日),出生于爱尔兰都柏林,19世纪英国(准确来讲是爱尔兰,但是当时由英国统治)最伟大的作家与艺术家之一&#xf…

【RuoYi项目分析】在RuoYi网关实现验证码功能

文章目录 1. 验证码功能的类清单2. 验证码的实现2.1. 验证码的获取2.2. 验证码的校验 3. 总结4. 资料参考 本文主要介绍了用户如何实现验证码,以及该功能如何与 Spring Gateway 联系起来。 1. 验证码功能的类清单 类功能CaptchaProperties验证码的 yml 配置Captcha…

25-多线程

多线程 线程(Thread)是一个程序内部的一条执行流程。 程序中如果有一条执行流程,那这个程序就是单线程的程序 多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行)。 再例如:消息通信、淘宝、京东系统都离…

【Flink】

事件驱动型应用 核心目标:数据流上的有状态计算 Apache Flink是一个框架和分布式处理引擎,用于对无界或有界数据流进行有状态计算。 运行逻辑 状态 把流处理需要的额外数据保存成一个“状态”,然后针对这条数据进行处理,并且更新状态。这就是所谓的“…

c# 中的类

反射 Activator.CreateInstance class Program {static void Main(string[] args){//反射Type t typeof(Student);object o Activator.CreateInstance(t, 1, "FJ");Student stu o as Student;Console.WriteLine(stu.Name);//动态编程dynamic stu2 Activator.Cre…

在 Windows 终端运行已有的 Python 程序

在同一个路径下,输入全名,如图:

【Spring Cloud】Ribbon 实现负载均衡的原理,策略以及饥饿加载

文章目录 前言一、什么是 Ribbon二、Ribbon 实现负载均衡的原理2.1 负载均衡的流程2.2 Ribbon 实现负载均衡的源码剖析 三、Ribbon 负载均衡策略3.1 负载均衡策略3.2 演示 Ribbon 负载均衡策略的更改 四、Ribbon 的饥饿加载4.1查看 Ribbon 的懒加载4.2 Ribbon 的饥饿加载模式 前…

开放式耳机怎么选择、300之内最好的耳机推荐

开放式耳机凭借不入耳、不伤耳、安全更舒适的佩戴体验,得到了越来越多音乐爱好者和专业人士的青睐。开放式耳机不需要插入耳道,在佩戴时可以更加自然和轻松,减少了长时间佩戴引起的不适感,而且不会完全隔绝外界声音,用…

【VIM】VIM配合使用的工具

6-1 课程总结-vim虐我千百遍,我待 vim 如初恋_哔哩哔哩_bilibili