你们写代码时是不是先写一大堆能把功能完成的?然后就开始琢磨怎么把那些重复的给弄干净?

2012 年 9 月 8 日
 pepsin
发现最近都是这么写,先一大堆if else,case when,然后看那些奇怪的重复各种不爽,然后费劲把那些都抹干净。

貌似水平不够没办法一下就写出不重复的代码,感觉降低不少效率。
6217 次点击
所在节点    Ruby
8 条回复
quake0day
2012 年 9 月 8 日
正常,除非是写的多了有经验了,否则一般第一次代码都是需要重构的。
lancome
2012 年 9 月 9 日
对,这就是重构!
myrual
2012 年 9 月 14 日
yes
chrisyipw
2012 年 9 月 14 日
在想怎么实现时一般会想会不会被别的地方用到,如果暂时没发现会被复用一般会先写一次 if,如果有两次或三次重复,还没 finish feature 的就立刻改,finish 了就安排到下一次的 refactor & clean up;如果会,就直接琢磨该封装成 fn 还是 class 再写。

@lancome 重构的意义不仅仅只是把代码写优美,是把代码优化,比如性能提高、逻辑更清晰。如果只是为了封装,我倾向于叫它「clean up」。
imcj
2012 年 9 月 14 日
@chrisyipw
求科普,refactor是不是重构?clean up是不是清理finish feature是不是结束的特性,fn是不是方法class是不是类?
hzlzh
2012 年 9 月 14 日
。。我们叫这review吧
everyx
2012 年 9 月 14 日
先把逻辑功能实现,然后回头检查修改或者抽象啥的
wingoo
2012 年 9 月 14 日
不能想太多, 当然也要先想一点, 然后立即动手,再修改

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

https://study.congcong.us/t/47250

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

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

© 2021 V2EX