1
josephshen 2014-11-18 09:19:51 +08:00 6
http://mobile.51cto.com/comment-452712.htm
非常好的文章,你可以看看。 |
2
josephshen 2014-11-18 09:22:46 +08:00 1
|
3
Registering OP @josephshen 赞,呵呵,突然想起了大一用C语言写的那些代码,1000就是瓶颈了啊
|
4
learnshare 2014-11-18 09:45:20 +08:00
如果没写烂的话,就坚持写完再重构
|
5
jimrok 2014-11-18 09:53:54 +08:00
主要是为了好理解,如果过两天,就看不懂了,那还是重构一下。而且就像收拾房子一样,不是每样都要收拾的,捡最需要的部分弄一下。
|
6
freeleestyle 2014-11-18 10:00:59 +08:00
重构是一定需要的,因为随着你对项目认知的逐渐加深,会有一个新的理解,也为了更好的进行后续的工作。
重构可大可小,看你的能力与精力。但是可以从小处出发,秉持最小迭代的原则来进行。 |
7
ivanchou 2014-11-18 10:02:15 +08:00
同样的瓶颈,写完自己就看不懂了。。。
|
8
min 2014-11-18 10:56:05 +08:00
考虑lz的工作年限,做烂掉推倒重新做或者转向新的项目也不失为一个办法
如果目前这货需要长期维护的,那当然是应该找时间来重构 |
9
iam36 2014-11-18 10:59:20 +08:00
只要功能满足设计,先不急于调整,根据运行状况,自然明确调整的需求以及 方向。
|
10
cover 2014-11-18 11:04:30 +08:00
刚刚开始写的话 就是不停的推到重来吧,因为你重构的时候会发现一开始认为牛逼的设计,在工程面前会如此不堪一击
|
11
meta 2014-11-18 11:08:30 +08:00
都到两万行了才想起这个事,有点太晚了。
|
12
Registering OP @meta 其实现在还没多大问题,只是有一个类突然大了,所以现在想重构,为后续打基础
|
13
jjx 2014-11-18 11:12:39 +08:00
看了一下现在手头的python项目已经有6万行了
重构是要随时进行的 作为开发主管, 同产品经理指定计划时,每个关键点都要留出几天时间让程序员能够回顾和重构代码 |
14
special 2014-11-18 11:27:10 +08:00
重构不是问题,但是如何保证重构后的代码可以正常运行才是问题。
以后弄新项目的话,可以弄个 robolectric 对关键的模块写一些测试,那么无论怎么重构都不是问题了。 |
15
Registering OP @jjx 能这样最好了,,可是项目急的时候,人手又不够,身不由己啊
|
16
lygmqkl 2014-11-18 15:35:08 +08:00
先实现后优化,最后才是重构,你这没写完就要重构。。。。不合适。
|
17
zhouquanbest 2014-11-18 17:09:42 +08:00 1
我觉得这个和记忆力有关
特别是自己写的,很有可能各几周才去再接着弄,那么再次面对2w行的代码时,你可能会忘记一些细节。 虽然说好的代码就是最好的注释,但有时候辅助记忆的注释我觉得还是可以有的,反正自己看,丑点就丑点。 重构这个东西,还是实时继续的好,不要写几万行再来重构,给自己找麻烦,还可能引入新的bug |
18
otakustay 2014-11-18 17:54:05 +08:00
用代码行数来判断要不要重构简直扯谈……2W行代码你重构完了会变成5000行?2W行合理的代码用一用各种模式小心就是3W行了,然后是不是觉得更应该重构了?
|
19
Registering OP @otakustay 或许你借题发挥了,,,2w行不是重构的依据,而只是代表项目功能块到一定量之后,各个模块的线性或者非线性关系递增,代码维护扩展出现了瓶颈,,,
|
20
ChiangDi 2014-11-18 19:57:56 +08:00 via Android
有本经典的书就叫重构啊,多看看,我觉得写得挺好的。
|
21
otakustay 2014-11-18 20:30:03 +08:00
@Registering 如果没有说明是随意写的2W行的话,一般人在写代码的同时总会有个设计框架在其中吧,不至于增长得无法控制不住嘛
|
22
reeco 2014-11-18 20:51:55 +08:00
避免提前优化,还是先写完吧
|
23
herozzm 2014-11-18 22:25:46 +08:00
如果项目周期在可控的情况下,应当不断将项目模块分解重构优化
|
24
konakona 2014-11-18 22:31:36 +08:00 via iPhone
必须优化。
|
25
watsy0007 2014-11-18 23:09:11 +08:00
如果你要增加功能开始觉得没地方下手。
需要停下来考虑如何在原有基础上做猥琐的不定才能实现时候。或者大量的cc+cv时候。 就表示你要重构了。模块化了。 |
26
spacewander 2014-11-18 23:16:29 +08:00
你都觉得有必要重构了,那就停下来重构吧。
|