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

2017-02-14 15:48:01 +08:00
 keinx

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

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

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

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

国内有软件商去学习过,回来感慨,国内程序员就是太聪明了。
shiny
2017-02-14 17:21:09 +08:00
@bulldozer 勤俭节约是中华民族传统美德 😂
introom
2017-02-14 17:32:09 +08:00
@bulldozer 這真是有點。
Phariel
2017-02-14 17:33:46 +08:00
没有完美的系统 各有利弊 要效率 可读性维护性就可能差 维护性好效率就一般
googlebot
2017-02-14 20:29:39 +08:00
系统架构没用,要用户喜欢的产品是好产品,
不是开发人员喜欢啥,
用户喜欢啥?这是大学问,
isphone
2017-02-14 20:43:47 +08:00
ios (完)
ryd994
2017-02-15 06:15:30 +08:00
代码量大不是问题,多雇人就是了
代码看不懂这就不行,代码逻辑复杂的话文档一定要好
如果加个功能需要东翻西找的话,就是高耦合,属于失败的工程设计
389273716
2017-02-15 09:11:06 +08:00
在代码重构之时,未重构完前,都觉得是完美的,哈哈哈哈哈哈。然而事实是重构了一大半发现,什么鬼!
keinx
2017-02-15 10:07:06 +08:00
@fwrq41251 就是很纠结哪些算是共用的哪些是不能共用的,有没有什么办法可以方便理解。
keinx
2017-02-15 10:08:11 +08:00
@shoaly
@Phariel
@googlebot
@ryd994
谢谢你们帮我填坑。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/340396

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX