今天其实心情挺低落的. 也看过一点设计模式方面的书,看了一点 SICP,算是个吹牛逼份子,说起好程序也知道是高内聚低耦合简洁优雅. 今天吃完饭没事开始想着重构一下自己的代码,越重构越难受.
我的代码写的真的是垃圾的不行,垃圾到自己都看不进去.重构重新进行抽象基本就是抽了一层又一层,再回头看自己写的业务代码,都不敢相信是自己写的.
我工作时间不长,但是一直有一种"我能写好业务了"的错觉,今天才发现原来自己写的都是垃圾狗屎,而且如果不抽出这种大块的时间思考重构,估计会持续产出大量狗屎.
心情真的很差,来 V 站想问一下大家,怎么样才能锻炼好自己的抽象能力,让自己写代码的时候就能够意识到自己写的是垃圾,提高一点自己的写代码姿势?
再次感谢.
1
freefcw 2017-09-04 23:57:29 +08:00
代码都是不断改出来的,没有谁一开始就能写出漂亮的代码,因为需求都是不断变更的。在不断变更代码的时候,对代码进行思考,调整结构
最简单的方法,尽可能的一个函数和类的代码和功能少,所谓功能内聚,我写的这行代码是否要抽出来单独成为一个函数,这个 for 循环是否需要抽离,这个 if 里面的分支是否单独成一个函数,代码最基础的就是函数,函数这块整好了,后面都要容易很多 多研究 SOLID 原则,这个是最基本的,设计模式也只是衍生品 |
2
ericls 2017-09-05 08:29:59 +08:00 via iPhone
用户代码还是工程代码?
|
3
ResidualSoils 2017-09-05 08:40:04 +08:00 via Android
楼主加油,顺便求介绍一本设计模式的书。
|
4
nineyang 2017-09-05 08:48:48 +08:00 1
@ResidualSoils HEAD 家的还不错。
|
5
codermagefox OP @freefcw 主要是有些东西自己真的想不到应该这么抽象,小公司又没有人做 Review,导致每次都是事后诸葛亮,重构的事后才觉得自己写的烂
|
6
ResidualSoils 2017-09-05 10:03:28 +08:00
@nineyang Thanks
|
7
codermagefox OP @ericls 小公司瞎 b 写的业务代码...
|
8
codermagefox OP @ResidualSoils 我只看了一点点,自己水平也烂就不推荐了...
|
9
newtype0092 2017-09-05 10:55:58 +08:00
@codermagefox 能知道自己代码烂就很好啊,我每次看几个月前的代码也是觉得各种问题,感觉自己烂的地方思考下怎么优化,或者看别人的类似的地方怎么写,最怕有些人写的稀烂还不自知,就没有什么提高的空间了。
|
10
qwertyssp 2017-09-05 11:31:59 +08:00
同求
|
11
8355 2017-09-05 15:10:37 +08:00
我自己的经验就是多看别人写的一些代码, 看设计模式之类的没什么用 那些都是理论的东西 你还得结合你的业务实际情况来写, 找找前辈写的类似功能的代码 有时候看别人封装的好 但实际上你用不到这么多功能的.
|
12
codermagefox OP @8355 如果看设计模式没用,看别人的代码感觉就是有一丢丢用,是我太蠢了吗...自己写起来还是屎一样的
|
13
whosesmile 2017-09-06 14:04:22 +08:00
设计模式和业务代码写的怎么样没有太大关系,设计模式更多是在架构层次。
你可以看看重构的书,代码整洁之道,重构改善既有代码之类的,不过一般都是用 Java 描述,但是道理是通的。 |