身为软件专业的学生,现在在网络公司上班,工作上和业余会写写小工具(主要用python上学的时候用c,但只学算法)。现在一般工作上的问题都能很好的解决,但是一旦要写稍大点的项目就写的非常丑陋,最终只能是勉强能工作而已,后期想要拓展或维护也是根本不可能。
现在需要学习些什么呢?是读别人代码好点还是看看代码大全之类的书?
写代码主要还是兴趣驱动,因为实在不喜欢现在码农的感觉,想要更进一步。
1
ZackYang 2015-07-20 13:37:26 +08:00 2
10行代码的组织: 代码大全, 重构, 代码整洁之道
100行代码的组织: 设计模式(GoF) >1k行代码的组织: 企业架构模式应用, 领域驱动设计 |
2
ZackYang 2015-07-20 13:38:07 +08:00 1
企业架构模式应用 -> 企业应用架构模式
|
3
6IbA2bj5ip3tK49j 2015-07-20 13:46:22 +08:00
@ZackYang 100行就要用设计模式了?!
|
5
soli 2015-07-20 15:50:39 +08:00
可能你需要提高的是抽象能力。
站在比较高的角度,把问题尽量合理的抽象,花大部分时间去思考,然后再去动手。 |
6
vincenting 2015-07-20 16:33:25 +08:00
对自己代码嫌弃才是最大的驱动力。
--- 常规做法就是重构与模式类的书,然后看别人源码,如果你觉得他用了 XXX 模式,就分析为什么用,你有没有更好的重构的方法,可以在保证代码短小的情况下易于拓展/维护。 |
8
tdifg OP @vincenting 好的,不过现在相关的书貌似都是以java或c#为例来讲的,需要学习新语言吗
|
9
KingHL 2015-07-20 16:39:58 +08:00
python的话,需要可以的去使用设计模式吗,很多不都透明了吗?
|
12
vincenting 2015-07-20 17:22:04 +08:00
@tdifg java 很难么?只需要看懂他的 OOP 就行了。
|
13
tdifg OP @vincenting 曾经考虑学过,一看一本入门书七百来页就吓着了,其中一大半是OOP。
|
15
lujiajing1126 2015-07-21 08:20:32 +08:00 via Android
关键还是看业务的复杂性
个人觉得大部分几千行到几万行的量级,用好框架,加一些设计模式就能处理的不错 ddd一些是为了抽象更复杂的问题,构建领域模型 |