V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cstj0505
V2EX  ›  程序员

Java 里感觉超过一屏的函数就有点脱离掌控了

  •  
  •   cstj0505 · 2019-03-14 14:25:34 +08:00 · 4902 次点击
    这是一个创建于 2111 天前的主题,其中的信息可能已经有所发展或是发生改变。

    即使是自己写的也没办法很快的理清楚逻辑,就是看清楚了逻辑,总感觉漏掉了什么,心里有点慌。

    36 条回复    2019-03-16 10:06:25 +08:00
    chendy
        1
    chendy  
       2019-03-14 15:33:09 +08:00   ❤️ 2
    不知道你的一屏多大,反正我这里一屏 90 多行…
    能写这么长方法还不抽一抽的人应该拉出去抽一抽
    atonku
        2
    atonku  
       2019-03-14 15:33:48 +08:00
    那是你的屏太小,要不就是你的字太大
    tulongtou
        3
    tulongtou  
       2019-03-14 15:50:39 +08:00
    那是你的屏太小,要不就是你的字太大
    nekoneko
        4
    nekoneko  
       2019-03-14 16:45:04 +08:00
    我的一屏 40 行,你超了几屏?
    Sapp
        5
    Sapp  
       2019-03-14 16:46:52 +08:00
    我怎么一屏才 20 行...
    sonyxperia
        6
    sonyxperia  
       2019-03-14 16:47:57 +08:00
    把显示器竖起来啊
    bertsir
        7
    bertsir  
       2019-03-14 16:52:07 +08:00
    看你什么屏和什么字号了
    ma6254
        8
    ma6254  
       2019-03-14 16:52:29 +08:00
    把屏幕竖起来+1
    whx20202
        9
    whx20202  
       2019-03-14 16:54:54 +08:00
    阿里 java 规范推荐不超过 80,很多 ide 工具也有类似的提示,你不遵循他就弄个波浪线在代码下面恶心你。
    代码整洁之道也建议这种情况下,可以考虑写个新的函数,把职责捋一下
    Hakka
        10
    Hakka  
       2019-03-14 16:59:55 +08:00
    同意楼上
    tedzhou1221
        11
    tedzhou1221  
       2019-03-14 17:00:45 +08:00 via Android
    一屏 50。

    但看到以前的员工写了很多,一个方法就是几百行,甚至上千的都有。。。。。
    findmyself
        12
    findmyself  
       2019-03-14 17:02:47 +08:00
    我现在维护的 rails 项目,很少能看到少于 100 行的方法,心贼累
    yuankui
        13
    yuankui  
       2019-03-14 17:15:18 +08:00
    一屏 20 行的同志,字体得多大。。这么一样,应该是一个资深程序员。。
    xiaoxinshiwo
        14
    xiaoxinshiwo  
       2019-03-14 17:27:36 +08:00   ❤️ 2
    1800 行的代码都看过
    cstj0505
        15
    cstj0505  
    OP
       2019-03-14 17:47:39 +08:00
    @Sapp 和你差不多,也就 20 多行
    cstj0505
        16
    cstj0505  
    OP
       2019-03-14 17:49:44 +08:00
    @nekoneko 快两屏了,一边撸代码,经常跑单元测试,输出占了小半屏
    liuhuansir
        17
    liuhuansir  
       2019-03-14 17:55:25 +08:00
    我的原则是一个方法主体不超过 50 行
    clarkyi
        18
    clarkyi  
       2019-03-14 20:00:34 +08:00
    你们怕是没见过一个 controller 的逻辑写出 200 行的代码🤦‍♀️
    经过 N 个人后的项目天知道会变成什么样子
    littlewing
        19
    littlewing  
       2019-03-14 20:51:21 +08:00
    那是你没看过 mysql 的代码,一个 .c 文件上万行,一个函数上千行
    zwh2698
        20
    zwh2698  
       2019-03-14 20:54:32 +08:00 via Android
    没见过编译器编译的报错的原因是因为函数的行数太多
    Android2MCU
        21
    Android2MCU  
       2019-03-14 21:01:17 +08:00 via iPhone
    Android framework 一个方法分分钟上千行,看的头疼🤣
    notreami
        22
    notreami  
       2019-03-14 21:21:08 +08:00
    图形计算,分分钟凌乱
    qianyiyu98
        23
    qianyiyu98  
       2019-03-14 21:22:59 +08:00
    甭管几行,就算是自己写的,过了两天就是黑盒,统统黑盒🌝
    longyuzichen
        24
    longyuzichen  
       2019-03-14 21:56:17 +08:00
    一个方法几百行是常态,看的心累
    troywinter
        25
    troywinter  
       2019-03-14 22:36:35 +08:00
    c++超过一屏你就可以忍么?
    Xbluer
        26
    Xbluer  
       2019-03-14 22:46:11 +08:00
    存储过程,动辄 3k 起步好不好。。。心累
    merpyzf
        27
    merpyzf  
       2019-03-14 22:56:47 +08:00 via iPhone
    一个函数只做一个功能
    lusi1990
        28
    lusi1990  
       2019-03-14 22:58:06 +08:00 via Android
    提高掌控力
    zeeeed
        29
    zeeeed  
       2019-03-15 09:32:11 +08:00 via Android
    @clarkyi 我见过所有逻辑写在 controller 里面的
    wizardoz
        30
    wizardoz  
       2019-03-15 09:36:52 +08:00
    这就是你要买 32 吋显示器的原因?
    deming
        31
    deming  
       2019-03-15 10:56:24 +08:00   ❤️ 1
    你就偷着乐吧!
    我现在维护的项目,刚接手项目有 8 个 java project,没有项目构建工具,jar 包到处都是。
    运行项目能成功都感觉原谅了整个世界。
    一个类至少 5000 行。查看一个方法使用鼠标都能翻到手酸。
    最开始我一直骂,傻逼,傻逼,这是傻逼写的代码。
    后来我淡然了,心想如果这么垃圾的代码我都能搞定,那还有啥不能忍的呢?
    于是我愉快接受了,并一点点的去优化。
    管你代码多乱呢?先摸清楚用了哪些东西,架子是啥,本质是啥。
    然后把 8 个 project 整成 3 个,并重新整理依赖,改成 maven 结构,一个 parrent 3 个 model。
    运行一个,三下五除二把报错信息搞定,然后搞个 jenkins 自动构建。爽的不行
    cstj0505
        32
    cstj0505  
    OP
       2019-03-15 11:07:46 +08:00
    @Xbluer sql 写多了简直是天数,这种代码我拒绝维护
    haofei
        33
    haofei  
       2019-03-15 12:36:59 +08:00
    换 kotlin 吧
    hsuvee
        34
    hsuvee  
       2019-03-15 13:59:02 +08:00
    一年多的经验,鼠标滚轮坏了快五个了。。。。。。
    Hanbuger
        35
    Hanbuger  
       2019-03-15 16:56:57 +08:00
    一个方法 6 千多行,工具都提交不上仓库了...
    Xbluer
        36
    Xbluer  
       2019-03-16 10:06:25 +08:00
    @cstj0505 拒绝。。。不想干啦啊><
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5832 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 01:41 · PVG 09:41 · LAX 17:41 · JFK 20:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.