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

[ PHP ]有没有能锻炼 面向对象风格 代码开发与设计能力的练习

  •  
  •   mingzu · 2018-06-29 13:49:42 +08:00 · 2886 次点击
    这是一个创建于 2121 天前的主题,其中的信息可能已经有所发展或是发生改变。

    此贴是个请教贴..

    楼主是工作刚满两年的 PHPer

    最近不久来到了一家新公司,代码方面受到了很大的教育

    感觉以前自己写的简直都是面相过程..质量也不高

    请教各位有没有好的 代码练习方式 书籍 非常实用的代码设计与技巧

    谢谢各位啦

    24 条回复    2018-07-01 10:17:41 +08:00
    captainjack
        1
    captainjack  
       2018-06-29 13:51:42 +08:00   ❤️ 1
    个人觉得,只要基本思想懂了,剩下的都是经验堆出来的,搬砖是一方面,再有就是重构
    ShineSmile
        2
    ShineSmile  
       2018-06-29 13:52:32 +08:00
    首先,先找个对象。
    mingzu
        3
    mingzu  
    OP
       2018-06-29 14:27:14 +08:00
    @ShineSmile 巧了,还真有 /坏笑
    ChoateYao
        4
    ChoateYao  
       2018-06-29 14:39:29 +08:00   ❤️ 1
    有啊,

    1. 领域驱动设计实现
    2. 重构 - 改善既有代码的设计
    3. 代码大全

    这三本书看完就能注意很多了。
    ChoateYao
        5
    ChoateYao  
       2018-06-29 14:40:16 +08:00   ❤️ 1
    @ChoateYao 领域驱动设计实现 -> 实现领域驱动设计
    a7a2
        6
    a7a2  
       2018-06-29 14:42:21 +08:00
    面向过程为何要写 php,换 c、go 之类很爽的,性能比 php 高点,开发效率跟 php 不相上下
    mingzu
        7
    mingzu  
    OP
       2018-06-29 15:24:16 +08:00
    @a7a2 是面向对象,但是感觉自己的代码写的和面向过程一样,质量很差....
    mingzu
        8
    mingzu  
    OP
       2018-06-29 15:24:59 +08:00
    @ChoateYao 谢啦谢啦,多谢啦,看了目录确实打到自己的痛点了 ,兄台贼靠谱
    mingzu
        9
    mingzu  
    OP
       2018-06-29 15:25:18 +08:00
    @captainjack 所以如何锻炼面向对象思想。。这是个问题。。。
    ben1024
        10
    ben1024  
       2018-06-29 15:28:58 +08:00
    代码量上去后,重复的写同一个功能,自然会想到抽象
    mingzu
        11
    mingzu  
    OP
       2018-06-29 15:46:03 +08:00
    @ben1024 同事写的代码是类似于连贯操作,对象之间的连贯操作,我不知道怎么表达..反正觉得真的好厉害...
    captainjack
        12
    captainjack  
       2018-06-29 15:51:06 +08:00   ❤️ 1
    @mingzu 你说的是链式调用吧,不就是 return this 么
    a7a2
        13
    a7a2  
       2018-06-29 15:53:05 +08:00   ❤️ 1
    @mingzu 所有非公司化成长的人都有这个问题,我也有这个问题,所以说就是工资差点也要进大厂,所以才有每个公司需要一个后端架构师就足够了,把框架搭建好让下面的人写即可
    ben1024
        14
    ben1024  
       2018-06-29 16:35:51 +08:00   ❤️ 1
    @mingzu 链式操作,对于对象的依赖和魔术函数的使用
    WytheHuang
        15
    WytheHuang  
       2018-06-29 16:46:17 +08:00
    这个我也想知道
    DiverRD
        16
    DiverRD  
       2018-06-29 16:49:28 +08:00
    同,我也很想提高自己的代码质量,感觉一直写的都是面向过程,特别是原有基础上加上需求,感觉越写越乱,前期抽象拓展分离这些都没做好。
    swcat
        17
    swcat  
       2018-06-29 16:59:48 +08:00 via iPhone   ❤️ 2
    clean php code
    拿走不谢
    zarte
        18
    zarte  
       2018-06-29 17:07:33 +08:00   ❤️ 1
    用上 composer,然后你就会按照空间类来写东东了,就会 new 一个对象然后调用方法操作。
    没必要追求面向对象,怎么舒服怎么来,之后再重构。
    mingzu
        19
    mingzu  
    OP
       2018-06-29 17:36:30 +08:00
    @zarte @swcat @ben1024 @a7a2 @ChoateYao @captainjack 谢谢各位的的指点,这下目标明确多了,买了几本书,打算苦读一段时间提升自己,再次表示感谢


    @DiverRD @WytheHuang 此贴有不少书籍推荐啦,各位按需参考哈。
    KashinJ
        20
    KashinJ  
       2018-06-29 18:31:41 +08:00   ❤️ 1
    写上一段时间 java, 这方面的技能就增长了!
    yimaneilicj
        21
    yimaneilicj  
       2018-06-29 20:15:42 +08:00   ❤️ 1
    听君们一席话
    conn4575
        22
    conn4575  
       2018-06-30 00:21:27 +08:00   ❤️ 1
    先看 4 人书的设计模式,基本可以了解很多
    components
        23
    components  
       2018-06-30 07:02:26 +08:00   ❤️ 1
    面向对象你应该看 Java,而不是 PHP
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1343 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:32 · PVG 01:32 · LAX 10:32 · JFK 13:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.