写了一大堆狗屎代码,跪求如何锻炼自己的函数抽象能力?

2017-09-04 22:57:54 +08:00
 codermagefox

今天其实心情挺低落的. 也看过一点设计模式方面的书,看了一点 SICP,算是个吹牛逼份子,说起好程序也知道是高内聚低耦合简洁优雅. 今天吃完饭没事开始想着重构一下自己的代码,越重构越难受.

我的代码写的真的是垃圾的不行,垃圾到自己都看不进去.重构重新进行抽象基本就是抽了一层又一层,再回头看自己写的业务代码,都不敢相信是自己写的.

我工作时间不长,但是一直有一种"我能写好业务了"的错觉,今天才发现原来自己写的都是垃圾狗屎,而且如果不抽出这种大块的时间思考重构,估计会持续产出大量狗屎.

心情真的很差,来 V 站想问一下大家,怎么样才能锻炼好自己的抽象能力,让自己写代码的时候就能够意识到自己写的是垃圾,提高一点自己的写代码姿势?

再次感谢.

2844 次点击
所在节点    JavaScript
13 条回复
freefcw
2017-09-04 23:57:29 +08:00
代码都是不断改出来的,没有谁一开始就能写出漂亮的代码,因为需求都是不断变更的。在不断变更代码的时候,对代码进行思考,调整结构

最简单的方法,尽可能的一个函数和类的代码和功能少,所谓功能内聚,我写的这行代码是否要抽出来单独成为一个函数,这个 for 循环是否需要抽离,这个 if 里面的分支是否单独成一个函数,代码最基础的就是函数,函数这块整好了,后面都要容易很多

多研究 SOLID 原则,这个是最基本的,设计模式也只是衍生品
ericls
2017-09-05 08:29:59 +08:00
用户代码还是工程代码?
ResidualSoils
2017-09-05 08:40:04 +08:00
楼主加油,顺便求介绍一本设计模式的书。
nineyang
2017-09-05 08:48:48 +08:00
@ResidualSoils HEAD 家的还不错。
codermagefox
2017-09-05 09:32:23 +08:00
@freefcw 主要是有些东西自己真的想不到应该这么抽象,小公司又没有人做 Review,导致每次都是事后诸葛亮,重构的事后才觉得自己写的烂
ResidualSoils
2017-09-05 10:03:28 +08:00
@nineyang Thanks
codermagefox
2017-09-05 10:05:51 +08:00
@ericls 小公司瞎 b 写的业务代码...
codermagefox
2017-09-05 10:06:10 +08:00
@ResidualSoils 我只看了一点点,自己水平也烂就不推荐了...
newtype0092
2017-09-05 10:55:58 +08:00
@codermagefox 能知道自己代码烂就很好啊,我每次看几个月前的代码也是觉得各种问题,感觉自己烂的地方思考下怎么优化,或者看别人的类似的地方怎么写,最怕有些人写的稀烂还不自知,就没有什么提高的空间了。
qwertyssp
2017-09-05 11:31:59 +08:00
同求
8355
2017-09-05 15:10:37 +08:00
我自己的经验就是多看别人写的一些代码, 看设计模式之类的没什么用 那些都是理论的东西 你还得结合你的业务实际情况来写, 找找前辈写的类似功能的代码 有时候看别人封装的好 但实际上你用不到这么多功能的.
codermagefox
2017-09-05 19:35:12 +08:00
@8355 如果看设计模式没用,看别人的代码感觉就是有一丢丢用,是我太蠢了吗...自己写起来还是屎一样的
whosesmile
2017-09-06 14:04:22 +08:00
设计模式和业务代码写的怎么样没有太大关系,设计模式更多是在架构层次。

你可以看看重构的书,代码整洁之道,重构改善既有代码之类的,不过一般都是用 Java 描述,但是道理是通的。

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

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

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

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

© 2021 V2EX