V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hidemyself
V2EX  ›  Java

迫于自己写的业务逻辑都太简单了,哪里可以看到真实场景的 Java 源码

  •  
  •   hidemyself · 2021-09-30 10:31:49 +08:00 · 6402 次点击
    这是一个创建于 911 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就是非基础架构那种的 Java 源码
    像什么 Spring,Mybatis 这种在我的理解都算基础架构的源码 还有什么各种后台管理,ruoyi,jeecgBoot 这种也算基础架构

    请问哪边可以看到真实业务场景的一些源码呢?

    33 条回复    2021-10-25 14:48:52 +08:00
    hcen1997
        1
    hcen1997  
       2021-09-30 10:38:19 +08:00   ❤️ 2
    github 搜索 game, 筛选只看 java
    github 上还有一个 java 开发的停车场管理软件
    echo1937
        2
    echo1937  
       2021-09-30 10:40:39 +08:00
    我个人是非常讨厌复杂逻辑的,总是希望需求简单而明确,但是总是有一些很拧巴的需求,会导致代码很复杂。
    wxw752
        3
    wxw752  
       2021-09-30 10:43:18 +08:00
    想看面向 C 端的微服务源码是吗,去一家稍微大点的公司就可以了。
    leonme
        4
    leonme  
       2021-09-30 13:32:33 +08:00
    相信我,你不会想看的
    wellsc
        5
    wellsc  
       2021-09-30 13:33:49 +08:00   ❤️ 1
    这么想看屎山吗
    Jooooooooo
        6
    Jooooooooo  
       2021-09-30 13:34:25 +08:00   ❤️ 12
    真实场景的业务代码就是

    外面有个请求过来想要某个东西 -> 我从数据库 /ES/缓存 /第三方接口拿到这些数据 -> 我组装 /加工一下 -> 返回给对方
    hidemyself
        7
    hidemyself  
    OP
       2021-09-30 13:35:43 +08:00
    @Jooooooooo 真实
    wangkun025
        8
    wangkun025  
       2021-09-30 13:36:42 +08:00
    多复杂的场景都能还原到 0 和 1,这么一想,就索然无味了。
    BanGanExpert
        9
    BanGanExpert  
       2021-09-30 13:58:50 +08:00
    就是 github 搜索一下热门的 xxx 管理系统就行了,比如我随便一搜
    https://github.com/macrozheng/mall
    比如这个,但是说实话真实业务场景项目里面有大量的重复和无聊的操作,其它答主已经说明了,很多都是组装和适配数据,各种判空操作,以及各种校验或者防止背锅日志补丁,莫名奇妙的各种奇葩注释等等,没撒美感的。
    还不如看看 Spring 或者 Mybatis 的源码来得有意思
    FantaMole
        10
    FantaMole  
       2021-09-30 14:47:08 +08:00
    业务逻辑复不复杂,取决于业务有多复杂。真要说起来,大家也不是想写的这么复杂的,实在是需求太拧巴了
    siweipancc
        11
    siweipancc  
       2021-09-30 15:08:37 +08:00 via iPhone
    都是无用代码,不如学习框架源码,争取在业务中用到大量设计模式……然后被同事吐槽。个人经历
    ipwx
        12
    ipwx  
       2021-09-30 15:17:55 +08:00   ❤️ 2
    我觉得楼主你的想法反了。

    不是因为看了复杂业务逻辑所以才会做项目,而是因为做了项目所以才会复杂的业务逻辑。
    ipwx
        13
    ipwx  
       2021-09-30 15:18:57 +08:00   ❤️ 2
    真正要学习的反而是那种顶层的、简洁的设计。说句不好听的,复杂的业务逻辑都是一点点靠人力修出来的血肉,是总能搞定的。而顶层设计、架构,那些是骨架,是需要一开始就奠定好基础的。
    wuwukai007
        14
    wuwukai007  
       2021-09-30 15:19:44 +08:00
    看来工作不饱和啊
    Ev1s
        15
    Ev1s  
       2021-09-30 15:24:35 +08:00
    来看看我们 HIS 的源码全是面向业务,真是祖传屎山
    wccc
        16
    wccc  
       2021-09-30 15:30:06 +08:00
    @Ev1s #15 HIS 快逃离医疗行业..
    LowBi
        17
    LowBi  
       2021-09-30 16:00:37 +08:00 via Android
    相反,我在追求简单代码,争取让人看懂,是那种隔了很久再次打开依旧能看懂运行的过程
    notejava
        18
    notejava  
       2021-09-30 16:07:38 +08:00
    业务再大再复杂也是拆分为 N 个小逻辑实现的。
    lichao
        19
    lichao  
       2021-09-30 16:11:01 +08:00
    @BanGanExpert 这个高 star 项目,粗略翻了一下 issue 列表,好多 bad practice

    https://github.com/macrozheng/mall/issues/261
    Leviathann
        20
    Leviathann  
       2021-09-30 16:12:46 +08:00 via iPhone
    复杂的大都是产品设计
    Java 代码只是实现出来
    angryfish
        21
    angryfish  
       2021-09-30 16:16:05 +08:00
    这些业务系统是相当无聊,而且基本都是 curd 的堆叠,可看性真的不大。
    要是真的想看,比较常见的各种商城,各种 oa,看一下就饱了
    786375312123
        22
    786375312123  
       2021-09-30 20:22:31 +08:00
    leetcode
    hooxu
        23
    hooxu  
       2021-09-30 21:08:45 +08:00 via iPhone
    @Ev1s 单个科室的业务都已经繁琐的要死😅
    hingbong
        24
    hingbong  
       2021-09-30 22:16:08 +08:00 via Android
    大厂都有不少开源的吧
    lishunan246
        25
    lishunan246  
       2021-09-30 23:40:51 +08:00 via Android
    就是想看一眼屎山是吧😅
    ajaxfunction
        26
    ajaxfunction  
       2021-10-01 00:11:14 +08:00
    oa 里各种拖拽组件生成表单,最终绑定到数据库字典,还要对应业务流,审批岗位角色绑定,1 对多流程想到, 生成文档,这个才是复杂强大的。


    业务系统其实很扯淡,增删改查,无非复杂查询多写几条 sql 的事情
    ericgui
        27
    ericgui  
       2021-10-01 01:27:01 +08:00
    业务逻辑简单说明你们生意简单
    这个和你写的代码没关系

    你要是业务复杂,你的代码自然就复杂了,当然了,到时候你又要骂这代码是屎山
    kokutou
        28
    kokutou  
       2021-10-01 06:26:02 +08:00 via Android
    Minecraft 的代码。。。
    以及 Minecraft 的各种插件平台的代码。。
    以及 Minecraft 的插件代码。。。
    还有周边什么启动器,之类的代码。。。
    fmumu
        29
    fmumu  
       2021-10-01 08:39:26 +08:00
    真实的业务逻辑,一个方法上千行,n 重 if+for 嵌套,中间还夹杂着 break 或 continue
    xiaopang132
        30
    xiaopang132  
       2021-10-01 09:35:45 +08:00
    优秀的代码是初级程序员可以看懂的代码,伟大的代码是大学生可以看懂的代码.
    neptuno
        31
    neptuno  
       2021-10-01 09:49:02 +08:00
    业务逻辑尽量简单,不是复杂的代码就可以承接大业务的。
    yurong333333
        32
    yurong333333  
       2021-10-01 20:07:22 +08:00
    @Ev1s 苦 his 久矣。。。
    zzzmh
        33
    zzzmh  
       2021-10-25 14:48:52 +08:00
    同样的时间不如自己写点啥,你觉得自己写的简单,就增加难度,写点高级东西。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2762 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:23 · PVG 20:23 · LAX 05:23 · JFK 08:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.