如何才算是一个完美的系统 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
keinx

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

  •  
  •   keinx 2017 年 2 月 14 日 2174 次点击
    这是一个创建于 3357 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    国内有软件商去学习过,回来感慨,国内程序员就是太聪明了。
    shiny
        6
    shiny  
    PRO
       2017 年 2 月 14 日
    @bulldozer 勤俭节约是中华民族传统美德
    introom
        7
    introom  
       2017 年 2 月 14 日 via Android
    @bulldozer 真是有。
    Phariel
        8
    Phariel  
       2017 年 2 月 14 日 via Android
    没有完美的系统 各有利弊 要效率 可读性维护性就可能差 维护性好效率就一般
    googlebot
        9
    googlebot  
       2017 年 2 月 14 日 via Android
    系统架构没用,要用户喜欢的产品是好产品,
    不是开发人员喜欢啥,
    用户喜欢啥?这是大学问,
    isphone
        10
    isphone  
       2017 年 2 月 14 日
    ios (完)
    ryd994
        11
    ryd994  
       2017 年 2 月 15 日 via Android
    代码量大不是问题,多雇人就是了
    代码看不懂这就不行,代码逻辑复杂的话文档一定要好
    如果加个功能需要东翻西找的话,就是高耦合,属于失败的工程设计
    389273716
        12
    389273716  
       2017 年 2 月 15 日
    在代码重构之时,未重构完前,都觉得是完美的,哈哈哈哈哈哈。然而事实是重构了一大半发现,什么鬼!
    keinx
        13
    keinx  
    OP
       2017 年 2 月 15 日
    @fwrq41251 就是很纠结哪些算是共用的哪些是不能共用的,有没有什么办法可以方便理解。
    keinx
        14
    keinx  
    OP
       2017 年 2 月 15 日
    @shoaly
    @Phariel
    @googlebot
    @ryd994
    谢谢你们帮我填坑。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     925 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 56ms UTC 19:16 PVG 03:16 LAX 12:16 JFK 15:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86