写后端,怎样才能尽量少的改动来应对需求的变更,我写的代码到后期改不完的 bug

2019-01-08 09:56:30 +08:00
 splendone
5041 次点击
所在节点    程序员
39 条回复
lueffy
2019-01-08 12:07:37 +08:00
@JinyAa 我之前也是写在配置文件里的,但是如果规则变动了还要改代码,重新打包,走一遍上线的流程,很麻烦
那些参数,在服务器启动的时候,读取一次,放到全局变量里
这样如果修改了,改下数据库的值,重启一下服务器就行了
fmumu
2019-01-08 12:16:10 +08:00
@lueffy 配置文件放在外部,再弄个热加载
manr
2019-01-08 12:57:04 +08:00
3L 说的很对,直接一点就是解耦,熟悉项目流程架构对开发很有帮助
AnyISalIn
2019-01-08 13:02:32 +08:00
@lueffy #21 配置文件读环境变量就行了
jamesxu
2019-01-08 13:05:13 +08:00
@lueffy 放数据库里,提供修改的接口,修改完自动刷新,不用重启
jswh
2019-01-08 13:07:48 +08:00
没有银弹。
colorwin
2019-01-08 13:08:51 +08:00
单元测试
kaedea
2019-01-08 14:14:24 +08:00
少接需求
FallenTy
2019-01-08 14:34:18 +08:00
只要需求没有停止变更,BUG 就少不了。细分函数,解耦之类的操作都是为了后面尽量少的改动
Vegetable
2019-01-08 14:46:34 +08:00
这问题太大了
自己能做的就是写易维护的代码
留足配置空间,解耦合
yoqu
2019-01-08 15:22:56 +08:00
使用拒绝技能,需求没有太明确尽量少写代码,没有代码的程序 bug 率是最低的
lcdxiangzi
2019-01-08 15:32:33 +08:00
个人理解需要对业务背景有一个比较深刻的理解,在此基础上做一个好的架构设计,从数据、流程等多个维度对系统进行建模设计,参数化是一个思路,但是随之而来的是测试工作量的增多。
这个问题不是前端或者后端的问题,而是一个整体的规划和设计。涉及到一个软件项目的方方面面
NoString
2019-01-08 15:38:46 +08:00
@megachweng 哈哈哈你太真实了。我这就期就是,产品天天喊着文案后端给
fleam
2019-01-08 15:46:02 +08:00
不改 bug 等着被开除吗?
yhvictor
2019-01-08 16:08:28 +08:00
针对 bug 多写测试
glacer
2019-01-08 16:16:01 +08:00
《重构》中的建议是,不要在项目初期就进行过多的设计,重构应该是在项目开发的过程中同步进行。一旦察觉出有代码的问题就应该立即进行优化,而不是堆积起来后再重构。
splendone
2019-01-08 16:59:15 +08:00
总结、反馈

总结:
1. 抽象、解耦、分层、细化;
2. graphql ;
3. 数据库的设计方面;
4. 参数动态调整,不写死;
5. 重构;
6. 设计模式

------------------------------------
反馈:
1. 问过‘有经验的’同事,也简单一提说分层,是个方向,但是自己还是没明白,再继续查查了;
2. 有简单查了一下 graphql,目前不明觉厉状态……
3. 设计模式看了这个: https://www.cnblogs.com/susanws/p/5510229.html,较之前多了些理解吧;


------------------------------------

ps:刚完成一个项目,领导让我们复盘,总结一下怎么才能不出现干一年 bug 一堆的问题,就从自身想了一下,代码大部分是我写的,功能明确,就开始写接口,需要什么数据就从哪里获取数据,一个个接口写下来,功能也实现了,没有什么解耦啊的概念,到后期就是无尽的 bug 模式,肯定是自己哪里做的不够,需要提高才是,就这里来问一下,想必有前辈、老司机、同道中人会指点迷津,也许我面临的问题不是一两句能说明白的,仙人指路也可以,我去查查看,结合代码说明可能更清楚吧,那么届时留个博客地址什么的,我们去观瞻~

pps: 需求变更可以控制,但是不可避免,怎么控制的技巧还在这里之前,这里先讨论需求确认变化之后我能做什么,所以这里是讨教怎么写代码或者设计代码、架构什么的,才能在需求变更后更灵活的实现,眼下我想先提高自己这方面的能力吧。

ppps: 总结是我目前状态和能力能理解的各位的表达,也许有老司机的表达我现在还体会不到,没事,以后会来挖坟啃的。反馈是看到各位的意见和建议,立即行动起来的反馈,希望能有建设性和可执行的意见哦。
orqzsf1
2019-01-08 17:06:17 +08:00
前几天不是有一篇说后端因为架构写得太好被开了么
vindurriel
2019-01-09 06:26:33 +08:00
这个问题非常适合面试时问 区分度很高

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/524862

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX