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

“重复造轮子”这种想法可取吗?

  •  
  •   jiawa · 2018-02-10 13:48:25 +08:00 · 5282 次点击
    这是一个创建于 2485 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我最近在看 Laravel 框架,里面已经实现了一些功能。像用户验证,csrf 之类的东西。这种情况下如果要实现一个用户登录功能或者别的什么功能,是自己写好呢,还是用现成的代码好呢?

    18 条回复    2018-05-07 13:56:13 +08:00
    choulinlin
        1
    choulinlin  
       2018-02-10 13:50:47 +08:00
    当然现成 直接用 voyager
    maichael
        2
    maichael  
       2018-02-10 13:51:16 +08:00
    看你的目的是学习还是做真实的项目,或者认为自己能造一个更好的轮子。

    学习可以“重复造轮子”,做项目最好用现成的。
    chinvo
        3
    chinvo  
       2018-02-10 13:53:38 +08:00
    早些时闲着无聊候造了个 laravel 的用户管理轮子,现在做到项目里面基本上是直接用。
    linxl
        4
    linxl  
       2018-02-10 13:57:54 +08:00
    能直接用的直接用
    Nobitasean
        5
    Nobitasean  
       2018-02-10 14:09:49 +08:00
    既然都选择用 php 那当然就是快速生产啊,有轮子就用
    wxsm
        6
    wxsm  
       2018-02-10 14:26:57 +08:00
    取决于你的目的。学习 or 工作
    jiawa
        7
    jiawa  
    OP
       2018-02-10 22:22:36 +08:00 via iPad
    谢谢各位的解答。不过我已经决定重复造轮子了。
    q397064399
        8
    q397064399  
       2018-02-11 06:47:59 +08:00
    @jiawa #7 公司的项目的话 还是用业界成熟 现成的东西吧, 自己写,风险太大,
    owenliang
        9
    owenliang  
       2018-02-11 07:39:13 +08:00 via Android
    框架带的附加功能是给自由开发者玩的,为公司做项目需要考虑掌控度和扩展性。
    wizardoz
        10
    wizardoz  
       2018-02-11 09:22:09 +08:00
    如果不了解现在的轮子,那么先了解现有的轮子。
    如果了解了现有的轮子,但是不能满足你的要求,那么自己造一个更好的轮子。
    linxb
        11
    linxb  
       2018-02-11 10:22:13 +08:00
    自己的项目无所谓,如果是公司的项目,用现有的轮子就要考虑对轮子的熟悉程度了,毕竟需求一天一个变,你对轮子不了解,会用但不会拆分扩展那还不如自己造个轮子。
    sagaxu
        12
    sagaxu  
       2018-02-11 11:09:22 +08:00 via Android
    在很多公司,轮子即 kpi,轮子即地位
    jiawa
        13
    jiawa  
    OP
       2018-02-11 11:16:26 +08:00
    @sagaxu 你的意思是优先用现成代码?
    guanhui07
        14
    guanhui07  
       2018-02-11 11:50:07 +08:00
    @jiawa 他意思是只有在公司造了不少 重复的轮子 才 有 kpi 才真的做了事
    zuohuadong
        15
    zuohuadong  
       2018-02-12 15:05:46 +08:00
    https://github.com/notadd/notadd 欢迎来一起造~
    zhouquanbest
        16
    zhouquanbest  
       2018-02-12 19:37:30 +08:00 via Android
    按照人类当前的技术水平 你想造出来举世无双的东西 是比较难得,肯定得从改进或者造新的轮子开始,然后根据自己的需求和设计 走到不同的分支
    phpok
        17
    phpok  
       2018-02-13 10:41:04 +08:00
    很有必要,PHPer 要进度,造个轮子是很有必要的。
    理由如下:
    1、草根出身的 PHPer 大部分不是科班出身(有不少是自学,或是培训班出来),想对来说比较缺少整体思路。造轮子过程就是对自己过往开发的一个总结,为提升开发水平做准备。(没有任何歧视,因为我的 PHP 也是自学的)
    2、造轮子过程,可以让我们在开发过程中养成考虑各种异常问题,我们都知道,开发往往是 80%的时间来处理 20%的问题( 80%都是正常的,没有问题)。

    当然,我这里也要说一下,不要想着一开始就马上造轮子。经历过这几个阶段后再来考虑造轮子:
    1、毕业生或是刚培训出来的新手,哪怕你在学校(培训班)学的多牛,出来工作时不要马上想着造轮子(天才不在考虑范围噢,我是针对像我这种的),这个时候要的就是使用轮子。我们上班所在的公司因为历史原因,都会遗留一些不算成熟的框架(或是缺少文档,或是代码写法不规范,或代码习惯不符合培训班,也不是现在 PSR4 之类的规范,自动加载机制不一样等等问题),这时候,我们要处理的就是把任务做完。
    2、工作二三年后,我想这时候,大部分人都做过很多项目吗(外包也算噢),这时候,大部分就会报怨,天天重复的工作。——好烦噢。这时候,我们要做的就是做好发展准备(不是马上让你造轮子噢)。第一,将平时的代码整理收拾好。尝试完善现在公司的框架(没有框架,偿试进行简单的整合,不要吐槽老代码各种函数,也不要一味的吹捧对象编辑,合适的代码放在合适的地方就是最好的)

    经历上面两个阶段后,可以考虑造轮子了(其实那时候你会发现你的轮子差不多出来了)。

    小小总结下:
    造轮子有必要,但不能一味跟风。
    zpqsunny
        18
    zpqsunny  
       2018-05-07 13:56:13 +08:00
    可以不造,但要会造
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2572 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 04:17 · PVG 12:17 · LAX 20:17 · JFK 23:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.