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

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

我不知道livid是不是专业程序员,但是不管怎么样,都应该在保持功能的增加的同时,定期进行重构比较好一点,避免日后因为系统过于庞大复杂,重构的要成倍的增加。
10062 次点击
所在节点    V2EX
76 条回复
domainname
2011-03-29 21:21:48 +08:00
我不喜欢楼主的语气,设计模式xx,美丽代码都是浮云。。。v2ex is running, that's the main point
fanzeyi
2011-03-29 21:24:15 +08:00
不喜欢楼主的语气 +1
哎 不要说任何一个写程序的人 是不是专业程序员
都是写程序的 专业跟不专业的有很大的区别么?
(很多人)写代码是热爱代码 同样热爱一样东西为什么还要划分这么清楚。
当然不是说指出错误不行…… 还是注意下语气好了= =
crazycookie
2011-03-29 22:08:43 +08:00
我犯贱,看到楼主的语气我就激动了
今天已经和N个人说我犯贱 MD
levn
2011-03-29 22:08:46 +08:00
其实lz本来是用户,但是用评论家的语气发了个帖……

用户把问题推给开发者可以理所当然。评论家就不那么受欢迎了。

我想lz既然也没打算提交任何代码,为什么不以用户角度发贴呢……
newblue
2011-03-29 22:09:38 +08:00
@fanzeyi

如果这些代码是@livid自己看的话,他想怎么写,可以很随便,但是作为一个开源项目或者团队项目,我觉得把代码写的容易维护一点,是一种责任和道德。
newblue
2011-03-29 22:14:12 +08:00
@domainname

我没说美丽的代码!

至于设计模式,我也没说,GAE SDK那套框架,本身就是MVC的,我只是根据@livid的代码,指出在C部分代码是应该移到M那里而已。
fanzeyi
2011-03-29 22:15:48 +08:00
@newblue 看来您还是不太熟悉 livid啊…… 多呆一段时间再评论吧
obiwong
2011-03-29 22:25:11 +08:00
纠正一点,MVC不是设计模式,而是一种架构模式(Architecture Patterns)。
timshi
2011-03-29 22:25:35 +08:00
another thing that is lacking from HN, too personal.
franksin
2011-03-29 22:32:57 +08:00
从代码的角度上看,好像没有什么代码是不需要重构的,但从应用和产品角度来看,重构意味着花费较多时间,但没有给用户带来新的功能或者使用体验上的提升。
newblue
2011-03-29 22:34:35 +08:00
@levn

因为自己也写代码,看到这种一个函数很多页的代码,实在是忍不住,不过只是出于好意跟@livid说一下而已,并没有进来吵架的打算。

并不是我不想提交代码,而是就现在v2ex对我来说,我基本会考虑重写,或者进行大的重构,个人能力不够,再者主人家,都没有意思要行动,这样也就没意思,很容易喧宾夺主。这种大面积的行动,最好还是主人带领着比较合适。

我们这种门外汉还是比较合适做小事情,报告一些bug什么的。
Livid
2011-03-29 22:41:41 +08:00
大家来讨论点更有现实意义的吧:

http://www.v2ex.com/t/10651
chloerei
2011-03-29 22:52:11 +08:00
大家观点都已经表述过了,见好就收吧
args
2011-03-29 23:21:44 +08:00
事实证明能跑的代码无需重构。
Orz
2011-03-29 23:47:09 +08:00
这里不适合提意见,貌似之前提意见的几个现在都没在这里了吧,呵呵。
L42y
2011-03-29 23:59:01 +08:00
怎么能不让我想起 Arch Linux 的 Pacman 因为 package signing 被各种喷
seenxu
2011-03-30 03:19:23 +08:00
推荐大家看看此文: “你的代码写的很烂” http://www.aqee.net/2010/08/09/your-code-sucks/

我觉得重构代码可以基于三点:
一,重构部分的代码可以直接给“用户”带来更好的使用体验
二,在新的需求下,基于原代码很难实现此需求的时候,要进行必要的重构
三,代码有发现bug,在修复bug的同时,尽可能的完善或重构此部分代码
kayue
2011-03-30 03:36:42 +08:00
1. 利益宣告:我本身同意楼主的意见。

2. 当然有比光提出意见更好的方法,比如commit code。
但只提意见本身并无不妥。

3. 影评人要批评一部戏拍得烂,并不需要懂得拍戏。

4. 一个优秀的 open source project 绝对不是“能跑就好”
当然并不是每个 open source project 都以此为目标。

5. how come members in v2ex are so protective?
proper
2011-03-30 06:57:25 +08:00
楼主提意见,建设性的就改进,没道理的就浮云呗。

就事论事,工作中也常常见到楼主这样的言论,高屋建瓴,动不动就上纲上线,怀疑一切。
工作中有这种言论的人恰恰是对自己代码保护欲望最强烈的,容不得别人的任何意见。能力又往往一般。
道理很简单,如果没有完整的商业软件经验,很难体会到做到什么程度算好,什么程度就过了,什么程度又会不足。所以编码的时候没有这个度在里面,就会一味的追求完美来掩饰能力的不足。
Los
2011-03-30 07:22:01 +08:00
想不明白为什么那么多人非得拿“你的代码写得很烂”这篇所谓的东西出来忽悠人,而这里大部分站出来对LZ强烈反对的家伙恰恰却是对程序开发一知半懂甚至于完全不懂的人,这部分人我觉得在这样的讨论里是最不应该插言的人却叫得最欢,这是为什么呢?而V2EX现在github上托管那部分代码质量确实不怎么样,相信@Livid现在也发现了这个事实进而尽量改进之。

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

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

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

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

© 2021 V2EX