如何说服领导将管理系统代码从 PHP 重构成 Java - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
secretName
V2EX    程序员

如何说服领导将管理系统代码从 PHP 重构成 Java

  •  
  •   secretName 2020-05-15 13:07:29 +08:00 14025 次点击
    这是一个创建于 1980 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近我在思考一个问题,那就是如何说服领导将管理系统代码从 php 重构成 java 。

    原因就是现在我所在的公司用的是 php,但是用了几个月之后,感觉 php 的开发效率比感觉也没比 java 高,并且随着系统越来越复杂,维护越来越困难~

    所以想要怎么和领导说从 php 重构到 java 呢?领导和其他老同事都是写 c++的,都没有写过 java,只有几个新员工用过 java 。

    第 1 条附言    2020-05-15 15:08:27 +08:00
    因为这个系统太老了,很多历史包袱,代码经历了很多人,已经到处是雷区了。就算不重构成 java,他们也打算换个 php 框架重构。

    不过看到大家的留言后还是觉得 没必要重构,php 是世界上最好的语言!!!
    114 条回复    2020-05-17 19:21:40 +08:00
    1  2  
    jowan
        1
    jowan  
       2020-05-15 13:14:11 +08:00
    把领导搞下台 你来当
    wangyanrui
        2
    wangyanrui  
       2020-05-15 13:14:53 +08:00   12
    如果重构失败了,你愿意承担全部责任吗?
    不能的话就不要尝试了,出力不讨好 ~~
    questionlin
        3
    questionlin  
       2020-05-15 13:16:56 +08:00   1
    觉得开发效率不高是你还不熟
    kaigong
        4
    kaigong  
       2020-05-15 13:17:12 +08:00 via Android   1
    Php 招不到人了
    maggch
       
    maggch  
       2020-05-15 13:18:04 +08:00   2
    你有做过充分的调研吗,还是说你想凭着你的那点感觉说服领导?
    IGJacklove
        6
    IGJacklove  
       2020-05-15 13:19:31 +08:00   4
    这种东西最好别多管闲事...重构成功也没你啥功,重构失败锅可全在你身上
    wangyzj
        7
    wangyzj  
       2020-05-15 13:20:14 +08:00   3
    说开发效率不高我笑了
    而且作为成本中心的管理系统任何投入都是不值得的
    SlipStupig
        8
    SlipStupig  
       2020-05-15 13:22:13 +08:00   1
    汝等可知僭越之祸啊!
    zxc12300123
        9
    zxc12300123  
       2020-05-15 13:22:17 +08:00 via iPhone
    管理系统?能用就行。
    mandex
        10
    mandex  
       2020-05-15 13:23:54 +08:00
    你自己不说了原因吗?直接去跟领导讲啊。
    还是你自己都觉得这个理由不够充分。
    huntcool001
        11
    huntcool001  
       2020-05-15 13:28:20 +08:00   1
    这是多管闲事....
        12
    ren2881971  
       2020-05-15 13:35:09 +08:00   4
    写个方案啊。 要有理有据。什么都没有光拿嘴说,谁会支持你。
    1.当前使用 php 的弊端
    2.替换成 java 的优势
    3.需要产生多少工作量
    4.针对当前的业务重构会不会产生风险。
    5.重构后会有那些收益:提高效率(降低成本)优化性能(提高产品的服务能力)等等等 巴拉巴拉
    sadfQED2
        13
    sadfQED2  
       2020-05-15 13:35:49 +08:00 via Android   5
    领导和其他老同事都是写 c++的,就这你也敢说重构成 java ?我猜楼主的目的是政治斗争吧,趁机赶走老员工,自己上台,重招一批新员工
    to2false
        14
    to2false  
       2020-05-15 13:38:56 +08:00
    管理系统还切换技术栈,真羡慕好闲啊
    U7Q5tLAex2FI0o0g
        15
    U7Q5tLAex2FI0o0g  
       2020-05-15 13:38:59 +08:00
    自己当上领导就可以了
    sagaxu
        16
    sagaxu  
       2020-05-15 13:40:01 +08:00 via Android   1
    1 no zuo no die
    2 维护困难是你的护城河
    EastLord
        17
    EastLord  
       2020-05-15 13:42:07 +08:00
    楼主问 [如何说服领导将管理系统代码从 PHP 重构成 Java] ,结果回复大多答非所问
    Symo
        18
    Symo  
       2020-05-15 13:42:27 +08:00
    至少先把现在系统的功能测试全部写完了, 保证重构之后还跑得通.
    EastLord
        19
    EastLord  
       2020-05-15 13:43:04 +08:00
    12 楼的哥们说的挺好
    wangkun025
        20
    wangkun025  
       2020-05-15 13:44:06 +08:00
    说服自己。
    vultr
        21
    vultr  
       2020-05-15 13:44:19 +08:00
    让领导看到 java 的好处,并且让他们看到你为了这个事情所做的准备工作,提前把领导担心的问题先解决掉,或者说能给出解决的方案。
    qq1340691923
        22
    qq1340691923  
       2020-05-15 13:44:19 +08:00   1
    没必要重构,php 是世界上最好的语言!!!
    ericgui
        23
    ericgui  
       2020-05-15 13:46:20 +08:00   3
    你自己不行,非要说是 PHP 的锅
    MengiNo
        24
    MengiNo  
       2020-05-15 13:46:58 +08:00   2
    老同事都是写 c++ 的 新同事写过 Java,那么怎么弄出来的这个 PHP 的后台呢? 如果是老同事之前自己琢磨琢磨就用 PHP 写出来了,那么在他们有成功经验的情况下,你有什么理由说服他们 Java 的开发效率能高于 PHP... 如果是新同事就是写 PHP 的并且一起维护这个后台, 你有什么理由说服他们放弃他们最拿手的方案转而选择 Java 。
    先抛开技术层面不谈,按照上面分析,你这个在实际操作上的难度和 “让一个 200 斤的肥宅去健身房办卡” 成本几乎一样,那么是个正常的销售都会觉得对方不是目标客户而放弃。所以不用纠结了。
    Rekkles
        25
    Rekkles  
       2020-05-15 13:51:59 +08:00   2
    “原因就是现在我所在的公司用的是 php,但是用了几个月之后,感觉 php 的开发效率比感觉也没比 java 高,并且随着系统越来越复杂,维护越来越困难~”

    就这么说吧 论开发效率还是往后稍稍 PHP 性能不行确实 但是暴露了你水平 8 太行也是事实
    kumasama
        26
    kumasama  
       2020-05-15 13:52:25 +08:00
    楼主属于想一出是一出的人吧。。。
    AngryPanda
        27
    AngryPanda  
       2020-05-15 13:54:25 +08:00
    自己不熟悉,怪语言
    charlie21
        28
    charlie21  
       2020-05-15 13:58:08 +08:00
    历史包袱 历史遗留问题

    其实你就算用 PHP 从老框架换新框架 人们都懒得换,更别提换语言了
    miao666
        29
    miao666  
       2020-05-15 13:59:09 +08:00 via Android
    被楼主逗笑了
    ByteCat
        30
    ByteCat  
       2020-05-15 14:03:32 +08:00
    为什么要换?又不是不能用
    lsls931011
        31
    lsls931011  
       2020-05-15 14:04:21 +08:00
    很简单,上位
    bugsnail
        32
    bugsnail  
       2020-05-15 14:06:31 +08:00
    你信不信,你用 java 还是会碰到下一个你这样想的人
    kejxp1993
        33
    kejxp1993  
       2020-05-15 14:28:41 +08:00 via Android   1
    剧本下一集,如何说服领导将管理系统代码从 Java 重构成 Go[dogo]
    DiverRD
        34
    DiverRD  
       2020-05-15 14:30:56 +08:00
    我们一般不重构 我们是重写 手动滑稽
    Szhi
        35
    Szhi  
       2020-05-15 14:35:06 +08:00
    出问题谁来负责呢?
    duanquanyong
        36
    duanquanyong  
       2020-05-15 14:39:54 +08:00
    如果说服领导将管理系统代码从 php 重构成 java...如果说服领导将管理系统代码从 java 重构成 php...如果说服领导将管理系统代码从 php 重构成 python...如果说服领导将管理系统代码从 python 重构成 ruby,...如果说服领导将管理系统代码从 ruby 重构成 nodejs......
    yunkchen
        37
    yunkchen  
       2020-05-15 14:45:44 +08:00
    重构是路径手段,你的目标是什么?如果是提升开发效率,开发效率如何衡量?需要出两者的具体对比指标
    xuanbg
        38
    xuanbg  
       2020-05-15 14:50:28 +08:00
    别想着重构了,投入产出比很低的,你领导除非脑子抽了才会支持你。但是,问题还是要解决的,微服务就是天然支持异构系统的。你可以建议领导潮流一把,搞个微服务,然后新项目都用 Java 就完了。
    FantaMole
        39
    FantaMole  
       2020-05-15 14:53:28 +08:00
    落泪了,我以前遇到的问题就是 PHP 限制太少,大家追求写得快然后很不规范
    fhyuncai
        40
    fhyuncai  
       2020-05-15 14:54:39 +08:00
    "感觉 php 的开发效率比感觉也没比 java 高" 感觉这两语言效率没多大差别吧。。
    "并且随着系统越来越复杂,维护越来越困难" 纯属你自己不熟悉 php 。
    你公司都没几个人会 java,先不谈开发问题,以后维护怎么办?维护效率不是更低下?老同事愿意再去学习 java ?
    sevenzhou1218
        41
    sevenzhou1218  
       2020-05-15 14:58:58 +08:00
    楼主还是小孩子,大家散了吧。
    jorneyr
        42
    jorneyr  
       2020-05-15 15:03:07 +08:00
    把你们领导简历给我
    syrupofplum
        43
    syrupofplum  
       2020-05-15 15:04:59 +08:00
    重构成功了有什么好处?谁受益?如果这点上不能和领导达成一致,还是不要做无用功了。
    azoon
        44
    azoon  
       2020-05-15 15:06:55 +08:00
    楼主想上位了吧
    wuxinling
        45
    wuxinling  
       2020-05-15 15:09:02 +08:00
    弄到一大坨钱丢去领导桌上做重构的经费
    JamesR
        46
    JamesR  
       2020-05-15 15:09:36 +08:00
    Erroad
        47
    Erroad  
       2020-05-15 15:33:13 +08:00   1
    你用 php 觉得不舒服了,就想换 java 让别人不舒服?换位思考下吧,看起来是技术问题,其实根本不是技术问题
    ggjjl1
        48
    ggjjl1  
       2020-05-15 15:40:50 +08:00
    为什么一定要用 Java 呢,PHP 也可以写出很好的代码呀...
    golden0125
        49
    golden0125  
       2020-05-15 15:47:46 +08:00
    看到"php 的开发效率比感觉也没比 java 高"就笑出声了, 开发效率是 PHP 引以为豪的优点了,如果这点都体会不到,就凭你这半吊子水平有啥理由去用更复杂的 JAVA?
    dilu
        50
    dilu  
       2020-05-15 16:00:33 +08:00   1
    有一说一,单论开发速度,php 比 java 乃至于大多数语言都快得多

    毕竟我写完了刷新一下就行,你 java 写完了还要编译一下,甚至重启 tomcat
    boyhailong
        51
    boyhailong  
       2020-05-15 16:03:57 +08:00
    @jowan +10086
    gyinbj
        52
    gyinbj  
       2020-05-15 16:05:15 +08:00
    。。。饱经风霜的代码并不一定需要重构, 可以根据项目自定义一个小框架,每个功能需要修复的时候,直接根据功能重新用自定义框架调整即可, 日复一日 水到渠成。
    毕竟 你也不能保证,若干年后,java 也可能会写的一塌糊涂。
    zengxs
        53
    zengxs  
       2020-05-15 16:05:22 +08:00
    任何语言开发的系统,随着复杂度的上升,都会越来越难维护
    chenmobuys
        54
    chenmobuys  
       2020-05-15 16:08:23 +08:00
    是用的没 java 熟练吧
    ajaxfunction
        55
    ajaxfunction  
       2020-05-15 16:08:43 +08:00
    你可以说 php 性能不行,但是非要说 php 开发效率低,那就是你水平太次了。
    众所周知 php 就是以开发效率著称的
    keepeye
        56
    keepeye  
       2020-05-5 16:11:20 +08:00   1
    领导:我看这个人是闲的没事找事干了
    Still4
        57
    Still4  
       2020-05-15 16:23:40 +08:00   1
    曾经用 java 替换过 php 的人告诉你,java 没那么好用
    如果后端吐模板,开发难度不比 php 低
    如果后端不吐模版,这就是所有弱类型语言和强类型语言的优劣势,php 的劣势在于 bug 不好找,java 的劣势在于内存管理,我们经常遇到占用内存很多的数据需要处理,动不动 1G 2G,如果内存溢出导致 java 进程被杀,所有正在访问的人都受影响,php 顶多是你自己访问挂了,其他人 99%的情况下是没影响的
    Cowhitewhite
        58
    Cowhitewhite  
       2020-05-15 16:26:51 +08:00
    那你肯定是个写 Java 的
    IllBeBack
        59
    IllBeBack  
       2020-05-15 16:27:12 +08:00
    亲,你这是重写,不是重构。换个语言还不如换个公司。

    又不是不能跑,为什么要换语言,服务中断你会背锅吗?
    wudalang123
        60
    wudalang123  
       2020-05-15 16:31:11 +08:00
    @jowan 不成功咋办?
    yEhwG10ZJa83067x
        61
    yEhwG10ZJa83067x  
       2020-05-15 16:41:31 +08:00
    首先你看到下面的回复后,你都没有找到问题的关键点。
    关键是在其位谋其政。
    真羡慕你,你这是真年轻啊!
    cbasil
        62
    cbasil  
       2020-05-15 17:41:37 +08:00
    说 PHP 开发效率不行,我笑了,PHP 开发再怎么慢也要比 JAVA 快吧。而且只是内部管理系统,如果是代码老旧,换新的框架,yii 或者 laravel 重构就好了,
    zaul
        63
    zaul  
       2020-05-15 17:42:19 +08:00
    你是吃多了没事做?
    wysnylc
        64
    wysnylc  
       2020-05-15 17:44:55 +08:00
    不仅仅是 PHP,其他弱类型语言都有前期开发快后期更新维护火葬场的问题
    你可以说服领导,新业务用 Java 避免出现现在 PHP 出现的维护成本高问题,但是要重写老业务确实不建议任何语言都不建议
    zhengjing
        65
    zhengjing  
       2020-05-15 17:48:13 +08:00
    重构这种事,一般很难的,领导不愿意担责
    zhengjing
        66
    zhengjing  
       2020-05-15 17:49:04 +08:00
    有时间搞点其他事情,任何系统,除非到了非重构不可,否则不要轻易重构
    colorfulberry
        67
    colorfulberry  
       2020-05-15 17:51:15 +08:00
    重构成本其实没有想的那么小,看起来不复杂。重构的时候估计要好久时间才能搞定。毕竟很长时间做一个东西,想着重新来 2-3 天那是不现实的。
    stevenkang
        68
    stevenkang  
       2020-05-15 17:51:40 +08:00
    建议重构公司,整个人员架构都得换,严重影响开发效率
    neptuno
        69
    neptuno  
       2020-05-15 17:51:52 +08:00   1
    “领导和其他老同事都是写 c++的,都没有写过 java”,就是全部你来重构的意思吗
    killerv
        70
    killerv  
       2020-05-15 17:55:43 +08:00
    PHP 的黑点在于性能( fastcgi )和弱类型。开发效率没得喷
    loading
        71
    loading  
       2020-05-15 17:58:29 +08:00 via Android
    楼主,你是要辞退所有人只留你?
    libook
        72
    libook  
       2020-05-15 18:00:15 +08:00
    任何系统发展到功能和规模比较大的程度都不能只靠一种技术栈。

    全盘从 PHP 换 Java 也不一定是明智的举措,建议是从最适合用 Java 开发的功能模块开始用 Java,其他的地方就先继续使用 PHP 开发,逐渐优化系统。
    janxin
        73
    janxin  
       2020-05-15 18:02:20 +08:00
    先尝试回答一下:

    重构是为了满足我们试试 XXX 技术的小心思吗?是有什么非换语言不可的理由吗?万一投入很高不成功怎么办?

    大家满意回答的话,事情就好推动了
    songsong
        74
    songsong  
       2020-05-15 18:14:00 +08:00
    管理系统这种换 java 有什么意义, PHP 完全胜任, 管理系统也不需要太考虑性能, 如果需要, 接入 swoole 用常驻内存方式运行, 性能问题也解决了
    love
        75
    love  
       2020-05-15 18:42:53 +08:00 via Android
    呆过两个 php 公司,没类型检查的语言就是不行,搞大了之后改些东西小心翼翼,特别是公共的文件,只能加不能改,否则等着不知道哪里爆雷
    string643
        76
    string643  
       2020-05-15 21:07:21 +08:00
    领导:这 b 崽子,想啥呢?净给我整事
    hantsy
        77
    hantsy  
       2020-05-15 21:22:23 +08:00
    蛋痛
    hantsy
        78
    hantsy  
       2020-05-15 21:23:53 +08:00
    @love 难道你写 10 几年 PHP ?我没记错的话,PHP5 就开始 OOP,可以 Strong Type 了。PHP5.6 以后基本与 Java,C#在 OOP 方面的设计可以平齐了。
    love
        79
    love  
       2020-05-15 21:26:55 +08:00
    @hantsy 很多年没碰 PHP 了,Strong type 是个啥可以和 Java 平齐?是静态检查吗?至少 PHP5 是不行的
    gravitybox
        80
    gravitybox  
       2020-05-15 21:58:26 +08:00
    对 PHP 没什么意见,不过开发效率确实挺高的,也好上手。
    CantSee
        81
    CantSee  
       2020-05-15 21:58:32 +08:00
    v 站的 php 程序员不得给你喷的头都得掉?手动 dog..
    iplayio2019
        82
    iplayio2019  
       2020-05-15 22:06:49 +08:00
    PHP 真惨
    ben1024
        83
    ben1024  
       2020-05-15 22:16:28 +08:00
    只是管理系统把 PHP 换成 Java 收益点不直观,不如重构当前 PHP 代码
    sugarkeek
        84
    sugarkeek  
       2020-05-15 22:22:14 +08:00
    告诉老板换 Java 可以创造的财富
    justin2018
        85
    justin2018  
       2020-05-15 23:18:12 +08:00
    不要随便开坑 填坑~
    jzmws
        86
    jzmws  
       2020-05-16 00:58:00 +08:00
    能用就行了 ,合并自己给自己找事 ,性能不行上硬件, 老子改过核心代码 最终还是该回去了 .
    xunxuntj
        87
    xunxuntj  
       2020-05-16 01:00:47 +08:00
    重构最容易吃力不讨好了,主要是投入了没回报或者回报看不出来,维护成本就是隐性的很难证明
    TypeError
        88
    TypeError  
       2020-05-16 01:05:29 +08:00 via Android
    渐进式替换吧,新功能用 Java,和老接口调用全走 HTTP RESTful 或者 RPC
    shellic
        89
    shellic  
       2020-05-16 07:15:55 +08:00 via Android
    等重构成 Java 后下个接手的人再来问“如何说服领导将管理系统代码从 Java 重构成 Go”
    levelworm
        90
    levelworm  
       2020-05-16 07:43:31 +08:00 via Android
    我倒觉得楼主可以试试看,这事情对公司未必有好处但是对个人肯定有好处。
    pengjay
        91
    pengjay  
       2020-05-16 08:03:41 +08:00
    翻译过来是:我用 java 更顺手,可以把公司的系统用 java 重构吗?
    woshinide300yuan
        92
    woshinide300yuan  
       2020-05-16 08:19:52 +08:00
    动不动就 XX 最好的语言。
    你说事就说事,扯这没边儿的屁干什么。 好像村口的怨妇一样,引战吗?

    锤子,你还是辞职吧,换个 JAVA 吧。
    msg7086
        93
    msg7086  
       2020-05-16 08:35:54 +08:00
    历史包袱多,那应该去还技术债,而不是换语言。你换了 Java,继续欠技术债,两三年以后又是一坨历史包袱,接下来你准备换啥?

    另外,要开发效率的话为什么不选 Rails 呢。选一个开发效率差不多的 Java 是几个意思……
    keelii
        94
    keelii  
       2020-05-16 09:10:59 +08:00
    就连我一个前端都在学 Java,PHP 有什么理由不学习: https://v2ex.com/t/670706
    danhahaha
        95
    danhahaha  
       2020-05-16 09:15:38 +08:00
    楼主用了几个月后!!

    1.楼主接触这套东西不到几个月
    2.这套东西前面经过好几个人的手
    3.很多历史包袱,说白了就是各种 bug 补丁。
    4.管理系统

    对一个东西没有完全熟悉之前就想去重构,八成是一时兴起。楼主重构的动力是感觉开发效率不如 java,但是当需要大量时间去重构时候,还有效率可言吗,改着遇到困难就必定丢一边了。而且经过好几人手,规范,习惯都不一样,改完必定更多 bug,管理系统几个人用?有 bug 都测不出来。
    angith
        96
    angith  
       2020-05-16 09:17:41 +08:00 via Android
    你变成他领导
    ArtIsPatrick
        97
    ArtIsPatrick  
       2020-05-16 09:36:29 +08:00 via iPhone
    这种事情就是提个建议表达下想法,然后还是听领导的,让你干了就干,不干也无所谓。
    namelosw
        98
    namelosw  
       2020-05-16 09:44:28 +08:00
    引用 Joe Armstrong 的建议:
    If you get a bad boss move immediately
    *Do not try to change your boss*
    richard1122
        99
    richard1122  
       2020-05-16 09:53:12 +08:00   1
    这跟用什么语言框架啥的都没关系,另外你这不叫重构叫重写
    zachlhb
        100
    zachlhb  
       2020-05-16 09:59:52 +08:00 via Android
    这就叫一朝天子一朝臣,改天来个写 go 的,是不是也劝老板从 Java 切换到 go,开发效率不高,就想办法提高开发效率,我一直不觉得开发效率和语言有什么关系
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1502 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 16:30 PVG 00:30 LAX 09:30 JFK 12:30
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86