刚加入V2EX.com,很喜欢这个网站,看了源代码之后,觉得应该重构一下比较好!

2011-03-29 12:40:04 +08:00
 newblue
代码很凌乱,很多操作都是在controller部分完成,例如数据库查询,我觉得应该独立到专门的model,一个是可以提高重用,避免重复编写类似代码,维护也可以更方便,同一个功能的代码,只要修改一个地方就可以完成,再一个缩短代码的长度,方便阅读和调试。

我不知道livid是不是专业程序员,但是不管怎么样,都应该在保持功能的增加的同时,定期进行重构比较好一点,避免日后因为系统过于庞大复杂,重构的要成倍的增加。
9906 次点击
所在节点    V2EX
76 条回复
crazycookie
2011-03-29 12:45:21 +08:00
没必要,浪费时间
有这个时间 可以做许多其它的事情
不要为了 将来不一定发生的事情 浪费时间
crazycookie
2011-03-29 12:50:24 +08:00
PS: 初步阅读别人的代码 都会认为“为什么要这么写?不是有更加好的方法么”
但是,等到深读了,或者自己去实现的时候,就会明白:“原来当时这么设计是有道理的,不得不这么设计”
MVC模式,不一定需要严格遵守,它只是一个约定
以前,有一段时间我的想法和楼主 类似,现在回想 ,那是一个泥潭
这个是一个对时间分配范畴
areless
2011-03-29 13:15:54 +08:00
个人项目而已。MVC分的这么清楚干嘛?
newblue
2011-03-29 13:43:18 +08:00
如果必要重构,对代码进行清理是意见浪费时间的事情,那我也无话可说了。

看@livid在v2ex里面的代码,一个GET函数可以翻几页才可以看完,很多地方的代码都可以独立抽出来,却不得不的重复写几次。

不知道@cazycookie是不是程序员,不把重复的地方独立出来,你做修复臭虫的时候,不是要每个地方都去修改,这难道不是一种浪费自己时间的事情吗?
newblue
2011-03-29 13:47:24 +08:00
@areless v2ex目前是个人项目没错,但是按照@livid的想法,v2ex是要打算做大的,良好的代码,对于以后代码的维护,不管是@livid本人还是其他团队成员都是很重要的。

就连豆瓣的作者,都在一开始考虑到团队成员在这方面的可维护性。
jeffrey
2011-03-29 13:50:10 +08:00
@newblue
如果代码都完美了,还有让人参与的乐趣了么?
很多事情是要细看,才会更有所得。

个人觉得也无必要
crazycookie
2011-03-29 13:50:31 +08:00
诅咒 回复这个帖子的人都不是程序猿 TAT
ch_linghu
2011-03-29 13:56:23 +08:00
既然是个开源项目,为什么是提意见而不是做贡献呢?
newblue
2011-03-29 13:56:39 +08:00
@jeffrey
世界上有完美的代码?你对v2ex提交了多少代码?
只有风格好的代码,所有代码都取决于所在产品的需要。
newblue
2011-03-29 13:58:28 +08:00
@crazycookie

你诅咒吧,努力的诅咒吧,你的人生就干诅咒这一件事情就好了。
chloerei
2011-03-29 14:00:37 +08:00
如果是我写的,我会重构一下(所以我真的自己写了……)。看以前帖子,@livid认为自己维护起来没什么问题,所以大家都不太提这事了。
newblue
2011-03-29 14:03:11 +08:00
@ch_linghu

v2ex固然是一个开源项目,但是我只提意见,不做贡献,是因为v2ex现在已经是GAE的完全体了,我很明白重构这个系统的代价对于我来说太大了。
newblue
2011-03-29 14:08:41 +08:00
@chloerei

从昨天开始,我自己对v2ex进行重写,用webpy做框架,原本是打算用v2ex自己架设一个网站的,结果变成要重写整个系统。
est
2011-03-29 14:10:00 +08:00
建议LZ和1L用实际commit code行动来代替说话。
jeffrey
2011-03-29 14:11:10 +08:00
“你对v2ex提交了多少代码? ”
我没有提交过一个字母的代码,所以我不会评论其好坏。
同时我请问@newblue, 你提交了多少代码呢?

“只有风格好的代码,所有代码都取决于所在产品的需要。”
产品是为了卖钱,请问你是花钱买了PB的代码吗?如果你花钱了,那你是用户,需求随你提。

实在觉得这话题有点无聊,不说了。
lesscome
2011-03-29 14:25:20 +08:00
@newblue 我觉得这个问题最好和@livid 私下讨论比较好
newblue
2011-03-29 14:31:46 +08:00
看来群众的力量还是很强大的!!

v2ex原本就是@livid的,建议@livid对代码进行重构,是希望他以后维护更加方便一点而已。

结果扯大了。
dreampuf
2011-03-29 14:39:11 +08:00
不知道你所说的"后代码的维护"会什么时候出现.以什么样的程度出现.

在GAE捉襟见肘的有限资源里.每一次function call都考验着CUP cost.
"Don't Repeat Self".设计模式...这些都是束缚.
不是死背GoF的教条就会有一个伟大的产品.

快速原型.获取反馈.迭代.

那里有闲情为了百年不遇的"可能"而去"重构".
好代码不是处处优美可拓展.他是不能少掉任何现有的一行.

好代码不值钱
http://www.aqee.net/2011/03/16/good-code-is-cheap-code/
est
2011-03-29 14:42:33 +08:00
@dreampuf 罩杯花费。。。lol
chloerei
2011-03-29 14:46:40 +08:00
Project Babel 2 开源 -> 有人想用来二次开发,但发觉代码不好维护(至少对他来说) -> 向作者提意见整理代码。

我觉得是很正常行为,这也是一个需求。二次开发者觉得恐惧而不敢进入,这就是一个维护问题。虽然 v2ex 的中心是社区,而不是程序,但也没说不能提程序上的意见,各位不要抓着“能用的代码就是好代码”维护过度了。我想 @livid 希望听建议的时候也不会希望自己被亲卫队保护了起来。

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

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

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

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

© 2021 V2EX