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

如何才算是一个完美的系统

  •  
  •   keinx · 2017-02-14 15:48:01 +08:00 · 1782 次点击
    这是一个创建于 2831 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司的一套项目写的特别的庞大,代码的可维护性却非常好,我举个例子,就是整个系统中 B2C 商城, BBS 论坛是两个不同的模块,这两个模块基本没有任何重合的地方,代码都是单独分开的,所以维护起来没有那么绕。 B2C 商城的某个代码调用的方法就是这个 B2C 商城用的,不参杂其他东西。但是缺点是执行效率没有下面说的这种高,而且代码量特别大。

    第二种是我商家公司的项目,举个例子就是 B2C 商城, BBS 论坛的代码种共同的代码都被提出来了,而且代码被简化到了极致(我不知道这个项目是谁写的,但是我觉得这个人超牛),造成后期 B2C 上加一个功能,之前的方法类跳着跳着都把人绕迷了,而且你修改的 B2C 还不清楚是不是对 BBS 有影响。但是这个程序的效率非常高,而且代码量极小。

    来我再说下我自己吧,小白程序员,入坑 1 年多一点,写 Python , PHP 。没有架构这种私聊,我就想知道上面两种项目思路,哪个最完美?

    14 条回复    2017-02-15 10:08:11 +08:00
    lslqtz
        1
    lslqtz  
       2017-02-14 16:58:56 +08:00 via iPhone
    自我感觉第一个
    实际上代码好无需简化效率照样高
    代码量真无所谓
    keinx
        2
    keinx  
    OP
       2017-02-14 17:07:46 +08:00
    @lslqtz 我所在的这两家公司都是小公司,真的好想去大公司,感受下他们的代码。学历低,硬伤!
    fwrq41251
        3
    fwrq41251  
       2017-02-14 17:12:42 +08:00
    该重用的重用,该拆的拆,如果有一个函数你在两个项目里都用到了,现在要改,你是想只改一次还是改两次呢。
    重用的也有可能有一天发现不再通用了,所以会有重构代码。
    本来抽象公共部分就是设计的时候比较难的一个地方。
    最后, Over engineering 是万恶之源。
    shoaly
        4
    shoaly  
       2017-02-14 17:14:41 +08:00
    业务逻辑应该完全分开, 不能说改一个 b2c 的, b2b 那边开始叫唤出 bug 了
    底层 api 可以用同一个
    如何区分什么是底层 api , 比如发短信的接口, 推送接口. 数据库查询类方法等
    bulldozer
        5
    bulldozer  
       2017-02-14 17:16:14 +08:00
    印度软件代工比较厉害,据说就是写的特别“差”,猴子都能写,听说什么数组先 NEW 个 500M 内存,对方解释是我们空间足够,不在乎。

    国内有软件商去学习过,回来感慨,国内程序员就是太聪明了。
    shiny
        6
    shiny  
       2017-02-14 17:21:09 +08:00
    @bulldozer 勤俭节约是中华民族传统美德 😂
    introom
        7
    introom  
       2017-02-14 17:32:09 +08:00 via Android
    @bulldozer 這真是有點。
    Phariel
        8
    Phariel  
       2017-02-14 17:33:46 +08:00 via Android
    没有完美的系统 各有利弊 要效率 可读性维护性就可能差 维护性好效率就一般
    googlebot
        9
    googlebot  
       2017-02-14 20:29:39 +08:00 via Android
    系统架构没用,要用户喜欢的产品是好产品,
    不是开发人员喜欢啥,
    用户喜欢啥?这是大学问,
    isphone
        10
    isphone  
       2017-02-14 20:43:47 +08:00
    ios (完)
    ryd994
        11
    ryd994  
       2017-02-15 06:15:30 +08:00 via Android
    代码量大不是问题,多雇人就是了
    代码看不懂这就不行,代码逻辑复杂的话文档一定要好
    如果加个功能需要东翻西找的话,就是高耦合,属于失败的工程设计
    389273716
        12
    389273716  
       2017-02-15 09:11:06 +08:00
    在代码重构之时,未重构完前,都觉得是完美的,哈哈哈哈哈哈。然而事实是重构了一大半发现,什么鬼!
    keinx
        13
    keinx  
    OP
       2017-02-15 10:07:06 +08:00
    @fwrq41251 就是很纠结哪些算是共用的哪些是不能共用的,有没有什么办法可以方便理解。
    keinx
        14
    keinx  
    OP
       2017-02-15 10:08:11 +08:00
    @shoaly
    @Phariel
    @googlebot
    @ryd994
    谢谢你们帮我填坑。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2729 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:31 · PVG 13:31 · LAX 21:31 · JFK 00:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.