V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
albert0yyyy
V2EX  ›  问与答

我感觉在开源项目的基础上继续开发很麻烦,是段位太低了吗?

  •  
  •   albert0yyyy · 2023-02-11 11:26:18 +08:00 · 4034 次点击
    这是一个创建于 656 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近要想做个商城,

    找了一些开源的,和自己的技术栈也不是完全匹配(可能有的后端语言一样,前端又不一样),设计的也很简单(或者说和自己想要的差一些东西)。感觉得理解他的项目代码,学会他的编程语言,然后还得改动设计(如果只是改动样式还好,要是改动结构或者交互感觉又麻烦了一点)。

    像这种开源项目做二次开发,我就感觉很麻烦。还不如自己从头写一个,但是感觉又有点造轮子的意思了。
    25 条回复    2023-02-12 11:19:50 +08:00
    imzcg2
        1
    imzcg2  
       2023-02-11 11:34:37 +08:00
    其实是技术栈还有磨合的问题,如果技术栈一样很熟,上手也会快磨合也短,所以就不会麻烦,反之就麻烦
    kingjpa
        2
    kingjpa  
       2023-02-11 11:35:21 +08:00
    只能说明你是 单打独斗习惯了,没有团队协作过
    意识里还没有规范,标准,统一 这种概念。
    不过也挺好,无拘无束写代码才开心,(虽然也是堆答辩)
    duke807
        3
    duke807  
       2023-02-11 11:47:42 +08:00 via Android   ❤️ 3
    不是段位低,是作者水平低,简单的事情非要套很多可有可无的框架,不考虑后续加入者的感受

    譬如我上次看 avif polyfill:
    https://github.com/Kagami/avif.js

    它的 usage 第二段,叫用户执行一下 browserify 什么鬼的,我忍着想駡娘的冲动,安装了 browserify ,运行了一下还报错,不忍了,直接駡

    我自己写开源的东西,前端只用 vanilla js ,不需要你掌握特定的框架,不用打包构建,如果有后端,则优先用 python cgi 的方式,其它人就算不想用 python ,也很容易把他关注的某些 cgi 脚本改成其它语言,而不用全部重写

    我也不会引入 docker 这些脱裤子放屁的东西

    python 本身是 glue 语言,也是全民编程的指定语言,值得所有工程师学习,学一样语言能干的事更多,譬如 cocotb 可以用 python 仿真 verilog 用于芯片设计
    duke807
        4
    duke807  
       2023-02-11 11:51:47 +08:00 via Android
    每个人水平都是慢慢提高的,我七八年前也是喜欢用框架,jQuery 、Django 、Angular 1.x 2.x 3.x 等等全部用了个遍,同一个框架升级版本都很要命
    Pastsong
        5
    Pastsong  
       2023-02-11 11:55:21 +08:00
    @duke807 .....你开心就好
    westoy
        6
    westoy  
       2023-02-11 12:02:40 +08:00   ❤️ 4
    一方面, 感觉是你低估了写商城的难度, 目前开源商城那么多, 会用到事务的都没几个, 也就是说没几个能真正拿来用的, 除了有数的几个大平台, 也没几个公司会自己搭电商平台

    另一方面, 专业性的软件二次开发本来就是个成本很高的活儿, 尤其是 B 端的, 比如做 odoo 的二次开发可能就是专门做这块的, 而且还会细化到具体一些模块, 而不是随便找个会 python 懂 django 的。 放到电商这块, 像三星、联想、雀巢之类的商城都是基于 magneto 的二开, 入门成本也高,也得是专职做这块。 真的实质的二开, 不是什么改个 html 替换个 logo 那种, 想花几天随便入个门根本不可能的。
    Thecosy
        7
    Thecosy  
       2023-02-11 12:37:11 +08:00
    https://github.com/Thecosy/IceCMS 二开需要使用的技术都是最简单的
    knightdf
        8
    knightdf  
       2023-02-11 12:53:25 +08:00
    商城二开的话有推荐的 Java 开源项目么?
    IvanLi127
        9
    IvanLi127  
       2023-02-11 13:51:21 +08:00 via Android   ❤️ 1
    我 go 语言就靠给开源项目提 pr 上手的。。。
    shanyuhai123
        10
    shanyuhai123  
       2023-02-11 14:20:45 +08:00
    听你描述,包含前后端,那这种业务工程项目看不懂才是正常的。

    看技术框架(库)会容易很多。
    xiaofeifei8
        11
    xiaofeifei8  
       2023-02-11 14:21:31 +08:00
    有这想法直接自己开发就完事了,不用纠结
    tuduweb
        12
    tuduweb  
       2023-02-11 14:52:24 +08:00
    @IvanLi127 请问学到什么水平再去提的 PR 呢?是做一些 bug 的修复还是做需求实现呢?
    signalas1
        13
    signalas1  
       2023-02-11 18:21:43 +08:00
    从头做、从头学都不简单。
    zooo
        14
    zooo  
       2023-02-11 18:39:59 +08:00
    同蹲,商城二开的话有推荐的 Java 开源项目么?
    Thecosy
        15
    Thecosy  
       2023-02-11 19:17:47 +08:00
    cest
        16
    cest  
       2023-02-11 19:29:22 +08:00
    那是因为你只想做个商城

    目前的玩法是熟悉后,卖一千个一万个换皮商城
    熟悉获利大,自然有动力
    TonyG
        17
    TonyG  
       2023-02-11 19:52:29 +08:00
    很正常的感觉,软件项目本质还是人写的,只要是人写的东西,就还是偏文学类的方向。项目代码也有文学作品的几个特点:1 ,留给作者发挥的余地很大,越靠底层这种余地越大。2 ,很难界定高低,文无第一,武无第二。3 ,有人喜欢,有人不喜欢,主观感觉起决定作用。4 ,很难改造,参照高鹗续写红楼梦。
    hanguofu
        18
    hanguofu  
       2023-02-11 22:31:16 +08:00 via Android
    magneto 2 的商城现在很少见了吧?是不是主要应用在跨境行业?
    achira
        19
    achira  
       2023-02-11 22:50:46 +08:00   ❤️ 1
    @duke807 东西都是有时效性的,有些内容一开始可以不代表后面也可以,开源不代表要为了你后续的负责。你都已经踩着人家的不说肩膀也是大腿往上爬了,一点问题还要抱怨,如果不好你大可换一个换一家甚至自己做,没必要骂别人。人的时间都是有限的,人给你节约了时间走直路你非但不感激,稍微让你走了那么一点弯路就要恶语相向,你这种人才是最恶心的。

    至于你对 python 的认可,我尊重,但笃定成为全民编程的指定语言不好意思恐怕你没法下这个定义毕竟 php 过去很多人也是这么认为的。值不值得所有工程师学习就不好说了,至少我不认可在协同和开源活动过程中有那种想法的人对某个语言的认可。python 就有最大的弊端在于不方便协同和太过随意,规范起来方便协同却又失去了简洁明了的能力,这也是阁下明显缺失的能力。

    再解释下 usage 时效性的问题。我们通常都会假设特定的框架和公共的服务是可靠的,但总有不可靠的时候,这个是绝对无法避免的,如果只是为了避免那百分之 0.001 的可能而放弃使用打包好的框架和服务,那么每个人都在重复的制造某些相同的东西,这个对工程师们的时间明显是弊大于利的。

    我已将你拉黑。
    duke807
        20
    duke807  
       2023-02-11 23:37:56 +08:00 via Android
    @achira
    > 一点问题还要抱怨,如果不好你大可换一个换一家甚至自己做

    我被他这个浪费了至少一整天的时间,而且最终也没有成功,没有从他的开源项目获得任何好处,在我看来,他的项目类似在污染开源社区

    我想换一家,但是找不到第二家

    我当然可以自己做,我 2019 年做的产品就使用了 pwa + wasm 技术,其中自己打包了 imagemagick 程序

    但是我这次只是想试一下效果,自己花时间做不值得

    当年我打包 imagemagick 也是,一开始看一个开源的项目,他默认用 docker 构建,我试了半天一直报错,我看了一下他构建脚本,去掉 docker 相关的内容,直接就编译通过了,这不是脱裤子放屁是什么,我最终也没有用这个开源项目,自己直接基于最新 imagemagick 源码,稍微写一个只有几条命令的小脚本,就可以方便快捷的编译出 wasm 程序

    至于你拉黑我,只不过是掩耳盗铃连小学生都不屑的行为
    golangLover
        21
    golangLover  
       2023-02-11 23:47:14 +08:00 via Android
    开源这种东西你行你上,你觉得他垃圾的话就自己写一个,顺便开源给别人,大家都会感谢你。不过如果没能力写,或者是写了厉害的但不想来源给别人,免得别人得益。那你还是别批评了。开源的再难用,总比那些不肯动手的人好
    IvanLi127
        22
    IvanLi127  
       2023-02-12 03:56:02 +08:00 via Android
    @tuduweb 我是比较早之前有简单入门,大概一两年后开始因为自己用 go 写的开源软件,遇到 bug 就修了并提了 pr 。
    那次发现 go 确实朴素单纯,写出来真就流水线一样,哈哈。
    后面就有提新功能也有修 bug 的,不过我现在依然不太会 go ,也没在其他方面使用 go 。但是确实开源代码我看得懂,也会改。这应该就是 go 的优点了

    ps. 你 at 我我没收到通知,v 站 bug 了?
    iseki
        23
    iseki  
       2023-02-12 04:20:51 +08:00
    二开本来就很麻烦,你在前人的基础上实现,那必然得接受前人留下的设计和 bug ,何况很多项目是缺乏文档的,你没办法快速理解他的设计和理由,想想为什么要重构代码~~~
    Quarter
        24
    Quarter  
       2023-02-12 08:55:11 +08:00 via Android
    无论是不是开源的,就好比去了一家新公司,然后领导让你接手别人的代码,一样都是比较麻烦的,需要熟悉业务、梳理逻辑,甚至因为代码风格和习惯的不同总是觉得怎么看怎么不顺眼

    但是不管怎么说,一方面开源会提供一些好用的公开的项目(比如 uptime kuma 、jumpserver 等等),也可以提供一些思路、算法等等,帮助别人找到一些实现方案,就算是拿来直接二开,虽然有上述的一些问题,但依旧可以减少不少的工作量
    fuxinya
        25
    fuxinya  
       2023-02-12 11:19:50 +08:00 via Android
    接受不了他们的编码方式以及一些功能实现,如果不是接单快速完工,基本都是自己写一套
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4102 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:17 · PVG 13:17 · LAX 21:17 · JFK 00:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.