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

我们离像乐高积木那样编程还有多远?

  •  
  •   pythonee · 68 天前 · 5326 次点击
    这是一个创建于 68 天前的主题,其中的信息可能已经有所发展或是发生改变。
    记得刚学编程的时候,老师都说要低耦合高内聚
    后面接触了 OO ,好像也讲了很多模块化的设计方法,比如依赖反转
    工作后,又有了微服务等划分系统模块的方法

    但实际上,各个模块间的集成并非像拼积木那么简单,现在我们离像乐高积木那样编程更近了吗
    在使用一些 vim 、emacs 插件的时候,偶尔会有一种积木组合的感觉,不知大家还见过哪些模块化编程、构造的软件呢
    43 条回复    2021-11-16 16:04:19 +08:00
    jackmod
        1
    jackmod  
       68 天前 via Android   ❤️ 2
    企业的需求经常变,代码最终都会变成面条。煮面条就是比捏饭团省事。
    事物喜欢归于破坏和混沌,积木式始终是努力的方向,而无所谓远近。
    XTTX
        2
    XTTX  
       68 天前
    https://github.com/ardanlabs/service

    foundation- 底层 methods, 只要是 web app 都可以 copy-paste
    business- 专属的业务逻辑、数据库、中间件
    app- web app 入口,handler

    最近好像又有大变化了。只要用顺了这个结构,新项目基本上就是缝缝补补,foundation 不用动,business 里的 CRUD 逻辑也是复制粘贴改,app 里的 handler 也差不多
    XTTX
        3
    XTTX  
       68 天前
    如果说积木的话,我看过几眼的 nest.js 里的各种 decorator 是真的像。一些常见的功能 “@xxxxx”就搞定了
    coderluan
        4
    coderluan  
       68 天前   ❤️ 10
    乐高其实远比你想的复杂,你弄个大点的套装,然后不看说明试试,编程其实也一样,达到一定规模,都得靠人脑和经验。
    jasonkayzk
        5
    jasonkayzk  
       68 天前   ❤️ 13
    乐高搭了一万层,这时候产品过来告诉你,第 1 层和第 6666 层要大改;
    watzds
        6
    watzds  
       68 天前   ❤️ 1
    等这个世界像像乐高积木一样单纯的时候,就能实现
    rpman
        7
    rpman  
       68 天前   ❤️ 9
    感觉你没拼过难的乐高
    chendy
        8
    chendy  
       68 天前   ❤️ 1
    简单的乐高比简单的程序简单
    复杂的程序比复杂的乐高简单
    其实道理都差不多,用最基本的单元拼出模块拼出大模块最后装一起
    mmrindextt
        9
    mmrindextt  
       68 天前
    世界哪有那麽多确定的东西,乐高你就确定能拼出个东西来的
    ChefIsAwesome
        10
    ChefIsAwesome  
       68 天前   ❤️ 1
    思维混乱,概念不清。作为程序员,你不仅是拼乐高的人,也是设计乐高的人。
    设计乐高比设计程序容易吗?不。
    lrzsw2008
        11
    lrzsw2008  
       68 天前 via Android
    很多人在家不是不整理,但是要不了几天就会趋于一团
    Kinnice
        12
    Kinnice  
       68 天前 via Android
    乐高的基础是 数百上千个各项参数确定基本模块
    编程的基础是 数千万个(不止)个性能,参数各异的函数
    makelove
        13
    makelove  
       68 天前
    需求细节就是这么复杂多变对应的编码能简单得了?除非强人工智能发明出来自动细化需求并实现
    1194129822
        14
    1194129822  
       68 天前   ❤️ 2
    乐高积木你以为简单?不需要学习?汇编对纸带打孔来说就是拼积木,高级语言对汇编也是拼积木,只是不需要学习所谓低一层的技术。你觉得现在开发软件简单吗?需求在发展,工具也有边际效益。
    cmdOptionKana
        15
    cmdOptionKana  
       68 天前
    乐高简单的前提是:

    一个模型已经固定,批量生产,你买回来按图堆砌,基本上没有改动,用户一般也不会故意搞破坏。

    编程难是因为需求不断变化。

    如果像乐高那样设计固定不变,编程当然可以可视化拖拽完成,现在就可以做到,其实几十年前就能做到。
    msg7086
        16
    msg7086  
       68 天前   ❤️ 5
    现在不就是像乐高一样了吗,不需要你去写汇编代码,一个 if 语句就代替了一大堆 CPU 指令,这还不乐高吗……
    wolfie
        17
    wolfie  
       68 天前
    中台系统?
    基础服务想不出与乐高对应。
    kiracyan
        18
    kiracyan  
       68 天前
    现在的各种组件 中间件已经很像搭乐高了
    ch2
        19
    ch2  
       68 天前
    编程本来就是乐高,只不过零件实在太多了,乐高也变得难搭了
    xumng123
        20
    xumng123  
       68 天前 via iPhone
    乐高挺难的,将几盒大规模的乐高混在一起,没有图纸的情况下,拼一个试一试?

    现在编程已经是乐高式的拼装了,关键是要提前设计好怎么拼装
    laoyur
        21
    laoyur  
       67 天前   ❤️ 17

    乐高小车车
    hdiwhsg
        22
    hdiwhsg  
       67 天前
    @laoyur 被秀到了
    nicknick
        23
    nicknick  
       67 天前 via Android
    @jackmod 哈哈,正解。当你觉得你的框架多么爽,多么合理,多么智能的时候,人家明天来一句,能不能把那几个框变成灰色的呀(意思是不可编辑,流程权限)或者后天来一句不好用,还是换回来吧。
    xylxAdai
        24
    xylxAdai  
       67 天前
    定制化和标准化就是偏离的,你的产品越定制越个人化,越不可能标准化,你的产品越标准化,后面改起来就会越痛苦。
    特别是当一个产品用到了成千上万个标准化模块的时候,这时候对每个模块的需求又不停的变化,实际上我们现在的标准化已经不错了,问题是需求太过于个人。
    marffin
        25
    marffin  
       67 天前
    所以还是有不少人希望做个简单的 crud boy 的
    pengtdyd
        26
    pengtdyd  
       67 天前
    搭积木的这种方式是乌托邦,永远只能活在想象中。现实是想要追求最极致的用户体验,永远需要优化优化再优化,优化意味着是某种高度的定制,精心的雕琢每一个细节,没有任何多余的部分,你觉得搭积木能达到这种目标吗。
    wanguorui123
        27
    wanguorui123  
       67 天前
    前端组件化就是很好的搭积木,后端其实也可以搭积木,但是完全减少模块的耦合,需要研发团队的心志必须非常清晰,不然迟早写成屎山,你能做到代码的低耦合其他人的水平不一定行,最后把你的代码搅合成屎山。
    mengzhuo
        28
    mengzhuo  
       67 天前
    乐高就有图形编程的,搜索 MINDSTORMS
    但是你用过之后,就会想念各种编程语言……因为图形化很难表达复杂逻辑
    Jooooooooo
        29
    Jooooooooo  
       67 天前
    工程难度不在于写代码.
    yunyuyuan
        30
    yunyuyuan  
       67 天前
    @laoyur 这比写代码难:)
    cs419
        31
    cs419  
       67 天前
    这类东西挺多的啊
    游戏:dota 的地图 我的世界
    css: Tailwind
    淘宝、京东 对商家来说
    各种云服务 不都是么
    ZRS
        32
    ZRS  
       67 天前
    永远在路上
    timothyye
        33
    timothyye  
       67 天前
    不是已经有了吗,参考: https://scratch.mit.edu/
    哈哈
    jiayong2793
        34
    jiayong2793  
       67 天前
    中国企业不会给你时间封装的
    gengchun
        35
    gengchun  
       67 天前
    大概时间点就是以后你买汽车,车商给你一堆乐高让你拼。拼完直接上牌。

    差不多这个时候吧。
    putin541
        36
    putin541  
       67 天前
    永远都不可能的。分久必合 合久必分
    Rheinmetal
        37
    Rheinmetal  
       67 天前
    搭积木想象力不行 类似自动寻路的 copilot 了解一下
    1018ji
        38
    1018ji  
       67 天前
    你不失业吗
    yinzhili
        39
    yinzhili  
       67 天前
    个性化需求太多,不可能这样的
    betainCao
        41
    betainCao  
       67 天前
    我觉得现在的微服务不就是这种模式么?或者说比乐高的模式更加复杂。把每个服务想想为乐高的每个组件,组装起来才能提供一个完整的服务
    standin000
        42
    standin000  
       66 天前
    一直是乐高积木编程,就是积木太多了点,:D
    fxxkgw
        43
    fxxkgw  
       65 天前
    我司就有个项目叫乐高 实现你想的功能 支持这个项目的有 1000+容器 可想复杂度了。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4252 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:58 · PVG 13:58 · LAX 21:58 · JFK 00:58
    ♥ Do have faith in what you're doing.