V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
keinx
V2EX  ›  问与答

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

  •  
  •   keinx · Feb 14, 2017 · 2191 views
    This topic created in 3364 days ago, the information mentioned may be changed or developed.

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

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

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

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

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