公司的一套项目写的特别的庞大,代码的可维护性却非常好,我举个例子,就是整个系统中 B2C 商城, BBS 论坛是两个不同的模块,这两个模块基本没有任何重合的地方,代码都是单独分开的,所以维护起来没有那么绕。 B2C 商城的某个代码调用的方法就是这个 B2C 商城用的,不参杂其他东西。但是缺点是执行效率没有下面说的这种高,而且代码量特别大。
第二种是我商家公司的项目,举个例子就是 B2C 商城, BBS 论坛的代码种共同的代码都被提出来了,而且代码被简化到了极致(我不知道这个项目是谁写的,但是我觉得这个人超牛),造成后期 B2C 上加一个功能,之前的方法类跳着跳着都把人绕迷了,而且你修改的 B2C 还不清楚是不是对 BBS 有影响。但是这个程序的效率非常高,而且代码量极小。
来我再说下我自己吧,小白程序员,入坑 1 年多一点,写 Python , PHP 。没有架构这种私聊,我就想知道上面两种项目思路,哪个最完美?
1
lslqtz 2017-02-14 16:58:56 +08:00 via iPhone
自我感觉第一个
实际上代码好无需简化效率照样高 代码量真无所谓 |
3
fwrq41251 2017-02-14 17:12:42 +08:00
该重用的重用,该拆的拆,如果有一个函数你在两个项目里都用到了,现在要改,你是想只改一次还是改两次呢。
重用的也有可能有一天发现不再通用了,所以会有重构代码。 本来抽象公共部分就是设计的时候比较难的一个地方。 最后, Over engineering 是万恶之源。 |
4
shoaly 2017-02-14 17:14:41 +08:00
业务逻辑应该完全分开, 不能说改一个 b2c 的, b2b 那边开始叫唤出 bug 了
底层 api 可以用同一个 如何区分什么是底层 api , 比如发短信的接口, 推送接口. 数据库查询类方法等 |
5
bulldozer 2017-02-14 17:16:14 +08:00
印度软件代工比较厉害,据说就是写的特别“差”,猴子都能写,听说什么数组先 NEW 个 500M 内存,对方解释是我们空间足够,不在乎。
国内有软件商去学习过,回来感慨,国内程序员就是太聪明了。 |
8
Phariel 2017-02-14 17:33:46 +08:00 via Android
没有完美的系统 各有利弊 要效率 可读性维护性就可能差 维护性好效率就一般
|
9
googlebot 2017-02-14 20:29:39 +08:00 via Android
系统架构没用,要用户喜欢的产品是好产品,
不是开发人员喜欢啥, 用户喜欢啥?这是大学问, |
10
isphone 2017-02-14 20:43:47 +08:00
ios (完)
|
11
ryd994 2017-02-15 06:15:30 +08:00 via Android
代码量大不是问题,多雇人就是了
代码看不懂这就不行,代码逻辑复杂的话文档一定要好 如果加个功能需要东翻西找的话,就是高耦合,属于失败的工程设计 |
12
389273716 2017-02-15 09:11:06 +08:00
在代码重构之时,未重构完前,都觉得是完美的,哈哈哈哈哈哈。然而事实是重构了一大半发现,什么鬼!
|