要多健壮的代码才能支撑起千变万化的需求?

2021-08-11 10:09:14 +08:00
 waiaan

最后不会成为屎山

13926 次点击
所在节点    程序员
114 条回复
TheBlade
2021-08-11 17:49:18 +08:00
@bloomy8 可以试试看 Mermaid, 可以在 typora 里直接成图, java 项目有一个 X-Ray 的 eclipse 插件, 可以根据你的项目自动生成 https://xray.inf.usi.ch/xray.php, 个人比较喜欢 Mermaid
henryhu
2021-08-11 18:06:31 +08:00
配置化模块
simo
2021-08-11 18:07:32 +08:00
千变万化才能养活这么多人
bloomy8
2021-08-11 18:10:08 +08:00
@TheBlade 好的,我试试能不能在 OC 项目里用,谢谢
wolfie
2021-08-11 18:15:33 +08:00
团队所有人对要更改代码足够熟悉
足够的时间开发
glfpes
2021-08-11 20:21:40 +08:00
如果需求是千变万化的,那将需要重构。

所以微服务还是有它的优势的,每一个服务都尽可能保持小,坚守初心。这样解耦的系统重构的模块会隔离。
akira
2021-08-11 20:29:19 +08:00
不相关的事情 不要放一起 , 尽可能的拆分
burby
2021-08-11 23:17:28 +08:00
千变万化的需求,不适合用现在程序来实现吧…… 等真人工智能吧
jiayong2793
2021-08-11 23:46:32 +08:00
代码?
难道不是设计模式和架构吗?
crclz
2021-08-11 23:52:45 +08:00
1. 战略设计:充分理解业务领域、合理划分 BoundedContext,并在 BoundedContext 间的耦合点做足抽象,保证耦合点变化少(例如,最开始只有手机号注册,后面来了微信微博用户。如果合理划分了 BC,那么只需要改身份与访问上下文,其他模块不需要改一行代码、一行测试代码)
2. 遵循 DDD 的战术设计( less important than (1) )
3. 代码需要有测试。易于测试的代码大概率是好的代码(例外:test induced design damage )
4. 少魔法、少炫技的代码,尽量减少他人的障碍

说开闭原则的,还只是停留在理论阶段的菜鸟。web 框架可以开闭,例如 asp.net 、spring,但是你的业务代码中的 application layer 你使用继承的方式扩展一个试试?根本原因在于 application layer 的职责是协调,是非常贴近核心需求的。新到来的需求用继承来扩展,如果你实践过,会发现非常痛苦。

开闭原则描述的是通过继承、重写方法来进行扩展。打个比方,你写一个字可以越描越好看,越描越有楷体的感觉;但是你写作文如果这里插入一句,那里插入一句,就会乱七八糟。
Kylin30
2021-08-11 23:57:53 +08:00
一个函数一个进程
Rheinmetal
2021-08-12 07:33:40 +08:00
做低代码平台
来键盘鼠标给你自己写
:doge
zhanghua0
2021-08-12 08:36:56 +08:00
这个老哥提出来的见解 /t/795055
isnullstring
2021-08-12 08:40:51 +08:00
支撑不了,要是能支撑,就是需求没到千变万化的程度。狗头.jpg
taowen
2021-08-12 09:15:39 +08:00
Felldeadbird
2021-08-12 09:17:27 +08:00
屎山是不可避免的。只能尽量降低屎山的高度。
raaaaaar
2021-08-12 09:46:54 +08:00
有的问题不是代码问题
wangyzj
2021-08-12 10:01:58 +08:00
千变万化但都可以砍掉的无用需求
bear2000
2021-08-12 10:19:23 +08:00
没有。最后都会变成屎山,我现在就在看屎山
tobepro
2021-08-12 11:09:13 +08:00
所以才需要定期重构,推倒重来才能解决问题。还能制造点 OKR

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

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

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

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

© 2021 V2EX