职场中的祖传代码处理建议

程序员是如何看待“祖传代码”的?

祖传代码的由来

在实际的程序员工作中,祖传代码是常见的。因为真正的互联网职场生活中,业务变动调整频繁,每到一个新的业务线,第一件事就是熟悉现有工程代码,看旧文档等。而现有工程代码往往是经历了不知道多少人的迭代,修改,因此代码风格,逻辑往往千头万绪,甚至让人忍不住口吐芬芳。

如何正确看待祖传代码

但是现状就是这样,工作嘛,挣工资而已,既来之则安之,最后代码还是要落到自己头上来,毕竟你得在它的基础上修改不是?因此调整心态也很重要。我们能做的

  1. 首先就是理清业务,明白大致的业务目标、流程;
  2. 整理出一个属于自己的业务文档,从而熟悉业务;
  3. 一边看代码一边整理出一个代码梳理文档,否则看了也白看,人是会忘的;
  4. 从代码中抽取有益的部分,总结沉淀为自己的知识,取其精华,向其学习。从这方面来说,祖传代码也是“传家宝”,不是吗?

如何处理恶心的祖传代码

有些祖传代码就比较恶心了。所谓恶心有两种,一种是说它逻辑复杂,耦合业务非常严重,难以修改,或者说修改风险很高。另一种是说它代码有漏洞,有bug。

对于第一种情况,建议最好不要动!!!程序员届有种真理说法:只要代码能跑,就不要改一来你不清楚它涉及的业务有哪些,随便修改,后果未知啊。甚至是你觉得肯定没问题的修改,到了线上也会出现非常奇葩的意外,物理学都不存在了这种。这种情况很常见,你不要觉得奇怪,除非你是职场新人。二来,修改后如果出了问题,那么你就是第一责任人,等着背锅吧。这是很严重的,职场新人往往会在这方面风险意识不强,吃亏了才明白。因此这里给出这一剂免费的预防针。

对于第二种情况,如果你能看出代码的bug,那么你敢修复吗?修复后你敢承担bug修改后导致新的bug的风险吗?有点汗流浃背了吧。这种情况,建议是主动向组里抛出来问题,给出自己的方案,供大家讨论,至于是否修复,还是要看是否有业务收益。否则,还是那句话,不要修改,不要修改,不要修改!

以上就是个人对职场中祖传代码的浅陋观点,与君共勉吧

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

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

相关文章

K8S中POD的控制器

一、Pod控制器及其功用 Pod控制器,又称之为工作负载(workload),是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效&am…

Linux基础命令[9]-wc

文章目录 1. wc 命令说明2. wc 命令语法3. wc 命令示例3.1 不加参数3.2 -c(统计字节数)3.3 -m(统计字符数)3.4 -l(统计行数)3.5 -L(最长一行的长度)3.6 -w(统计单词数&am…

Arcgis实现点位空间位置从上到下从左到右排序

效果 背景 工作项目中经常会遇到需要对网格进行编号,而编号是有一定原则的,比如空间位置从上到下从左到右,或者其它原则,那么都可以通过下面的方式来实现 1、准备数据 点shp文件,查看初始FID字段标注,目…

transformer--transformer模型构建和测试

前面几节进行了各种组件的学习和编码,本节将组件组成transformer,并对其进行测试 EncoderDecoder 编码器解码器构建 使用EnconderDecoder实现编码器-解码器结构 # 使用EncoderDeconder类实现编码器和解码器class EncoderDecoder(nn.Module):def __ini…

飞书文档批量导出

背景需求 最近所参与的项目即将结项,需要将飞书中的产品需求文档(PRD)交付给甲方,由于文档较多,大概有两百多个,一个一个的下载导出,太麻烦了(PS:本人比较懒)…

ROS create_wall_timer/create_timer函数区别

在ROS(Robot Operating System)中,create_wall_timer 和 create_timer 是用于创建定时器的两个不同的函数,它们在使用上有一些区别: Clock Type: create_wall_timer: 创建的定时器是基于Wall clock的,这意…

软考笔记--结构化分析方法

结构化分析(SA)方法的基本思想是自定向下,逐层分解,把一个大问题分解成若干个小问题,每一个小问题再分解成若干个更小的问题。经过逐层分解,每个最低层的问题都是足够简单、容易解决的。 SA方法分析模型的…

78. 子集(力扣LeetCode)

文章目录 78. 子集题目描述回溯算法 78. 子集 题目描述 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入&#xff…

selenium高亮元素

def set_high_light_elment(self, element): """高亮web元素。 Args: element: WebElement:web元素 """ element_styleelement.get_attribute(style) self.mark_dom_text(element_s…

【MySQL】表的约束——空属性、默认值、列描述、zerofill、主键、自增长、唯一键、外键

文章目录 MySQL表的约束1. 空属性2. 默认值3. 列描述4. zerofill5. 主键6. 自增长7. 唯一键8. 外键 MySQL 表的约束 MySQL中的表的约束是一种规则,用于限制或保护表中数据的完整性和合法性。约束可以确保数据在插入、更新或删除时满足特定的条件,从而维护…

MySQL相关问题

MySQL相关问题 一、MySQL支持哪些存储引擎?二、MySQL是如何执行一条SQL的?三、MySQL数据库InnoDB存储引擎是如何工作的?四、如果要对数据库进行优化,该怎么优化?五、MySQL如何定位慢查询?六、如何分析MySQL…

揭秘App访问量背后的秘密:数据统计与分析

在移动互联网时代,App已成为人们日常生活的重要组成部分。对于App运营者来说,了解用户的访问量、行为习惯等数据至关重要。本文将深入探讨如何精准统计App访问量,为运营者提供有价值的数据支持。 一、App访问量统计的重要性 访问量是衡量A…

计算机专业必看的十部电影

计算机专业必看的十部电影 1. 人工智能2. 黑客帝国3. 盗梦空间4. 社交网络5. Her6. 模仿游戏7. 斯诺登8. 头号玩家9. 暗网10. 网络迷踪 计算机专业必看的十部电影,就像一场精彩盛宴! 《黑客帝国》让你穿越虚拟世界,感受高科技的魅力《模仿游戏…

公网IP怎么获取?

公网IP是网络中设备的唯一标识符,用于在Internet上进行通信和定位。对于普通用户来说,了解如何获取自己的公网IP是很有必要的,本文将介绍几种获取公网IP的方法。 方法一:通过路由器查询 大多数家庭和办公室使用的路由器都会有一个…

深入解析Mybatis-Plus框架:简化Java持久层开发(七)

🍀 前言 博客地址: CSDN:https://blog.csdn.net/powerbiubiu 👋 简介 本章节介绍如何通过Mybatis-Plus删除数据库中的数据。 本章节不需要前置准备,继续使用之前的测试类,数据库表进行操作。 &#x1f4…

一文详解mysql 的锁

MySQL锁是用于管理数据库中的并发操作的一种机制,它可以确保数据的一致性和完整性。 按范围划分:包括全局锁、表级锁、页级锁和行级锁。 按类型划分:包括间隙锁、临键锁和记录锁。 按级别划分:包括共享锁(S锁&#xff…

如何在Windows轻量应用服务器上安装和配置SSH?

如何在Windows轻量应用服务器上安装和配置SSH? 检查OpenSSH的可用性:首先,需要以管理员身份打开PowerShell并运行命令Get-WindowsCapability - Online | Where-Object Name - like OpenSSH*来检查OpenSSH服务是否可用。如果服务未启动或不可…

day03_Vue_Element

文章目录 01.Ajax1.1 Ajax 概述1.2 同步异步1.3 原生Ajax 2. Axios2.1 Axios的基本使用2.2 Axios快速入门2.3请求方法的别名2.4 案例 3 前后台分离开发3.1 前后台分离开发介绍 04 YAPI4.1 YAPI介绍4.2 接口文档管理 05 前端工程化5.1 前端工程化介绍5.2 前端工程化入门5.2.1 环…

【Python】变量的引用

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

2024.3.4 作业

1、流式域套接字 1>tcp服务端实现 #include<myhead.h> int main(int argc, const char *argv[]) {//1、创建套接字int sfd socket(AF_UNIX, SOCK_STREAM, 0);if(sfd -1){perror("socket error");return -1;}//2、判断套接字文件是否存在&#xff0c;如果…