做个小应用不难,但重构数次以后推倒重写时脑海一片空白

2014-06-05 13:12:53 +08:00
 mhycy
最近在做一个小程序,逻辑并不复杂。
而且之前已经写了好几个模块了,但是因为各种预想不到的细节问题而重构了N次(5<N<10)
现在感觉重构的差不多了,可以打扫一下那堆代码了准备推倒重来,却发现无从下手。

对于这种情况各位前辈有何建议?
3959 次点击
所在节点    程序员
12 条回复
akfish
2014-06-05 13:34:24 +08:00
重构多正常,最喜欢玩重构,跟解密游戏一样。
hitsmaxft
2014-06-05 13:35:51 +08:00
说明你还不清楚这段代码的逻辑. 重构必然有问题, 反复是正常的
dongcheng
2014-06-05 13:37:22 +08:00
同意LS,是没想清楚。不过一般遇到瓶颈,也是好事,撑过去,会有大提高。
nil
2014-06-05 13:40:57 +08:00
这个能叫重构么?看看重构ruby版
jedyu
2014-06-05 13:41:54 +08:00
这不是重构,是前期分析就有问题。另一个方面也可以说过早重构了。
mhycy
2014-06-05 13:58:18 +08:00
@hitsmaxft
的确....
这几次重写都是因为要加入一些当初忘记加入的功能而重写代码。
mhycy
2014-06-05 14:04:38 +08:00
@dongcheng @nil @jedyu
请原谅我用错词语

现在的情况是....重写了几次..然后再次开始编写的时候无从下手....
核心代码都能想到也是一开始就写的,但是因为基础的部分没想好如何实现(命名,分块)
(以我的记忆力等我想出来了核心逻辑的实现肯定会忘掉的)
这种做法直接导致核心代码写了又写.....
因为在实际编写的时候经常能想到更好的实现,然后就拆了重写....

现在想老老实实从头开始写,却发现无从下手.....(感觉总会遇到问题,而且完全没有印象后面需要些啥)
imn1
2014-06-05 16:20:06 +08:00
当业务逻辑和数据逻辑有矛盾时,这事经常发生,或者说流程
最初按业务逻辑入手,项目进行时不断发现数据逻辑的优势,重构总是向着这个优势的方向进行
当一定时候,想推倒重来,又按业务逻辑思考,就发现重构的咚咚都跟业务逻辑扯不上,无从下手
srdrm
2014-06-05 19:06:32 +08:00
重写多半是因为没想清楚,对问题领域还了解不够。但有个问题是,很多时候你刚开始接触一个新的领域通常你无法思考得足够清楚,只有不断尝试,发现问题,再改进,如此循环,你才能获得并积累更多这个领域的经验。积累到一定程度,一旦谈起,或再碰到这类问题或领域时,你头脑中就马上浮现出相应解决的方案或框架了。你那个时候才能谈一上手就是“优雅”,“良好”地代码结构。
feuvan
2014-06-05 19:07:39 +08:00
个人以为通常在重构中最难的阶段是理解业务逻辑。。
openroc
2014-06-05 20:06:02 +08:00
重构是必然的,呵呵,
mhycy
2014-06-05 20:53:45 +08:00
@imn1 @srdrm @feuvan @openroc
现阶段来说,如何在一开始就确定好一个好的方式为后续编码提供基础,这的确是需要经验的事情。

现在看来我作为一个重度选择困难症患者,很难一开始就做出决定,这可能是开了记事本却无从下手的可能性之一

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

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

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

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

© 2021 V2EX