2024年踩坑经验备份【总结】

server/2025/1/23 15:12:33/

与业务方需求方沟通

1、开发进度同步,主动反馈、沟通进展,让需求方心里有数。

  • 开发前
    • 主动沟通需求,不是等别人来找你沟通
    • 需求的确认澄清得到结论之后,也用文字描述清楚,在群里cc相关业务方,保证各方信息、结论对齐,并且有信息的留存,可追溯。
    • 需要做开发排期的同步,什么时候开启开发,预计什么时候交付。
    • 即使你还没那么快开发,你需要及时告知进展、安排,让需求方知道这个功能什么时候能上,现在开发到哪了。有了进展、风险需求同步,让大家心中有数。
  • 开发过程中
    • 需要及时同步开发的进度,目前的进度是什么?完成了什么的开发
    • 目前进度是否正常,是否存在什么问题风险是否可控,能否如期交付。
    • 如果识别出了风险需要及时同步,遇到拿不准的问题,也需要将问题上升。
  • 开发交付
    • 功能上线之后,需要同步信息给业务方,告知功能已经上线,可以正常使用。
    • 最好也能抽空观察下运行情况,能够在业务方提出质疑前,解决bug。
    • 问题反馈已读即回,不要先排查问题,但是未跟用户说。用户不知道,只能看到已读不回,感官不好,需要传达我现在正常处理你的问题,有进展会及时同步,或者我现在比较忙,需要稍等处理你的问题。

2、尽量避免研发直接对接业务方。

  • 引导业务方有问题找PO的意识,不能引导他来找研发。有信息同步,也是直接同步给PO。
  • 插入需求。所有的需求提出、评估都应该由PO去对接,尽量避免业务方直接给研发提需求这种情况。
  • 所有流程、产品层面上的改动,都让业务方直接找产品确认,得出结论之后,开发只负责开发工作。是否变动原有设计和实现,业务方提出要改造的时候,不能单从实现难易就妄下结论。觉得实现简单,就说改造,需要从产品设计层面上考虑能不能这么改?合不合理?拿不定的时候需要找产品经理对齐。

变更、发版与线上问题:

1、积极尽致。发现问题,立刻处理,不能存在侥幸心理,慢慢修。

发现一个地方似乎有点问题,临近下班点,想着明天早上再处理,结果凌晨一点多被紧急call起来处理。

  • 等用户反馈或者问题突然暴露,只会将自己处于非常被动的情境,影响也很不好。
  • 同时,还可能会连累相关的同事排查问题。

2、不要在特殊节点做变更

(下班点、饭点、周五晚),变更完必须能观察一下情况,不能发就完事。此时如果出现了问题,才能及时回退,减少问题的影响范围。

3、完整测试。

用户很多、牵一发动全身的组件、代码,无论改动多小,都要进行完整的测试。不能改的很少,就不做测试,直接上线。一出问题,影响范围太广。

4、变更前,考虑是否为兼容性变更,是,则必须先发公告。

用户不做变更,会不会影响功能使用,如果会,必须先做公告。


开发:

1、从宏观的角度来考虑需求。

而不是单单从需求的切面考虑需求,容易陷在细节中,考虑不全面。

  • 为什么要做这个需求,背景是什么?意义是什么?
  • 这个需求的上下游是什么?
  • 这个需求的需求方是谁?防止需求gap

2、方案的设计和选型。

  • 需求不断变更,核心功能考虑方案的时候一定要多想一下
    • 执行逻辑搞清楚了,但相关的东西是否考虑到?可能的异常情况:数据量多少?业务方异常?第三方异常?
    • 找大佬进行方案评审,评估实现的合理性**。有一些特殊场景,最好找有经验的前辈review一下,不要着急开发。**
  • 是否需要考虑并发安全。

3、调用第三方的接口。必须打印日志信息,便于问题排查、实锤。

  • 请求前,打印你的调用参数。
  • 请求后,打印第三方的原始返回、整体的接口耗时。

4、别人调你的接口。

  • 对所有参数零信任,必须进行参数校验。防止恶意的调用,你不能要求调用方来保证参数的合法性。
  • 打印所有请求的入参。
  • 所有的报错,都应该打印错误日志。跟数据相关的,最好也在关键节点打印原始信息。

5、特殊接口需要考虑熔断和降级。

  • 例如第三方的接口调用异常,我们服务内部不断重试,在大数据量下把服务拉垮。比如如果第三方接口调用超过多少次报错,就直接给业务方抛错。
  • 数据量的考虑,接口调用的量级普通的同步能不能抗住===> 用异步线程池能不能抗住=>kafka 消费订阅能不能抗住?都有什么比较好的实现方式。最简单的是同步,但是够不够用?

6、排查问题的时候不要着急下手,先理清其中的逻辑,定位原因。不然就是白费力气。

7、把精力聚焦,用整块的时间去处理一个事项。时间被碎片化,效率非常低下。

不时看有什么消息,一会回复这,一会回复那,做会这个又去处理那个,开发了没几分钟,又处理线上问题去了。

8、做好自己的定位,把活给专业的、更合适的人做。

比如自己的定位是开发,有运维的需求,应该给运维去处理,他不能处理的时候才考虑是否需要介入。


http://www.ppmy.cn/server/160767.html

相关文章

HarmonyOS开发中模拟器TextInput表单类的无法输入中文字符问题

近期在做HarmonyOS的Demo时,发现DevEco Studio中Previewer预览模拟器,或者是设备管理中的模拟器,在使用TextInput时UI界面上都无法输入中文字符,经过反复研究发现网上并未给出相应好的解决方案。 在鸿蒙官网问答论谈上&#xff0c…

NPC与AI深度融合结合雷鸟X3Pro AR智能眼镜:引领游戏行业沉浸式与增强现实新纪元的畅想

if… NPC(非玩家角色)与AI(人工智能)的深度融合,正引领游戏行业迈向一个全新的沉浸式与增强现实(AR)相结合的新时代。这一创新不仅预示着游戏体验的质变,更可能全面革新游戏设计与叙…

【电视盒子】HI3798MV300刷机教程笔记/备份遥控码修复遥控器/ADB/线刷卡刷/电视盒子安装第三方应用软件

心血来潮,看到电视机顶盒满天飞的广告,想改造一下家里的电视盒子,学一下网上的人刷机,但是一切都不知道怎么开始,虽然折腾了一天,以失败告终,还是做点刷机笔记。 0.我的机器 年少不会甄别&…

WPS不登录无法使用基本功能的解决方案

前言 WPS不登录无法使用基本功能的原因通常是为了同步数据、提供更多高级功能或满足软件授权要求。‌然而,一些用户可能出于隐私或便捷性的考虑,不愿意登录账号。在这种情况下,WPS可能会限制未登录用户的使用权限,导致工具栏变灰…

python学opencv|读取图像(三十九 )阈值处理Otsu方法

【1】引言 前序学习了5种阈值处理方法,包括(反)阈值处理、(反)零值处理和截断处理,还学习了一种自适应处理方法,相关文章链接为: python学opencv|读取图像(三十三)阈值处理-灰度图像-CSDN博客 python学o…

利用 SoybeanAdmin 实现前后端分离的企业级管理系统

引言 随着前后端分离架构的普及,越来越多的企业级应用开始采用这种方式来开发。前后端分离不仅提升了开发效率,还让前端和后端开发可以并行进行,减少了相互之间的耦合度。SoybeanAdmin 是一款基于 Spring Boot 和 MyBatis-Plus 的后台管理系…

const注意大全

1. 成员函数的 const 限定符 当在类的成员函数声明或定义中使用 const 时,表示该成员函数不会修改对象的状态(即不会修改对象的非静态数据成员)。 示例 class MyClass { public:void nonConstMethod(); // 非 const 成员函数void constMe…

【动态规划】--- 斐波那契数模型

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: 算法Journey 🏠 第N个泰波那契数模型 📌 题目解析 第N个泰波那契数 题目要求的是泰波那契数,并非斐波那契数。 &…