作者yoco315 (眠月)
站内Programming
标题Re: [请益] 程式该怎麽越写越好呢
时间Thu Aug 20 03:17:07 2009
※ 引述《miniroom549 (takecoe)》之铭言:
: 程式该怎麽越写越好呢
: 是否有程式高手可提供一下意见??
我不是高手,我懂一点点程式设计,但是我可以分享一点点经验。
程式设计是一门艺术,
多写当然很重要,但是闭门造车狂写的话,除非是绝世天才,不然就掰了,
多看大师等级的程式码绝对比自己死命写进步的快好几倍。
就像音乐跟绘画,多看多接触多欣赏别人的经典,绝对是好的。
但是看要看得懂,光看到程式码看不懂背後设计的精髓的话还是没用,
要看懂那些东西你得先有基本的
资料结构、
演算法跟进阶的
设计模式等功力,
当然,除了理论以外,
程式语言本身你也要熟捻。
所以以上基本教材先念熟,这是进入高阶殿堂的钥匙。
这些东西没有的话,想要进殿堂连门都没有。
然後去找网路上有些「
xx源码解析」,
里面都会找一些经典的程式码,然後解释背後的设计理念,
看懂就是你的,这个时候你对软体的结构就开始有点概念了。
看不懂的话,你就去好一点的讨论版问,
因为到这个程度,死大学生讨作业的烂版已经不能满足你问题的难度了。
高手不少,但是既然是高手,他们对无聊的问题就一点兴趣也没有,
要把他们钓出来你的问题就要够好,他们遇到好的问题就会掏心掏肺,
因为他们有些人很无聊,每天都在看板,但是很少发文,因为没的发挥,
难得有机会发挥的话,他们就不会放过,所以你要看这个。
http://catb.org/~esr/faqs/smart-questions.html
当然阅读吸收很重要,但是还要多写,
写没多久你就会发现
开发环境很重要,选一个好的 IDE,绝对不要虐待自己。
选用的时候要多看多问多评估,因为这是你写程式的时候会一直接触的东西,
程式设计师需要保持快乐,不快乐的程式设计师就是没有产能的程式设计师。
程式码累积一定程度之後你会发现程式码的整理也很重要,
这个时候你可能会注意到有
版本管理系统这种东西,
当然,选用之前要多评估,烂的版本管理系统会让你大脑发烟。
也许有一天你需要回头用或是看自己的程式码,
你会发现干他妈的写这个程式的人是他妈的猪吗!?为什麽我一行都看不懂!?
所以你需要写
文件跟注解,请选一个好的
文件系统。
文件也可以避免别人看着你的程式码骂你是他妈的猪。
而且懒惰是程式设计师的美德,如果你不想一直解释重复的问题,
写好文件就是让你脱离当幼稚园老师的不二法门:「Read The Fucking Manual」
搞不好你在当学生的时候就可以作到以上全部,
然後不管你工作了没有,你可能会开发大型软体,
我是说
大型软体,一个人写不出来的那种。
这个时候你会发现写软体就像是盖房子,需要工程方法,
一堆程式设计师在一起没有统筹跟良好方法的话,是作不出
好的大东西的,
大东西可能做的出来,但是不好的大东西不叫做大程式,叫做大便,
真的,因为你会看着那堆程式码整天直呼「shit!」
软体工程,不过他不是大型软体才需要,
你最好在越过学徒阶段之後就要抱有软体工程的概念。
如果你有幸坚持到这一步,
当别人问你是不是高手的时候,
你也许就可以回答他说「我懂一点点程式设计」然後跟他分享你的经验了。
--
To iterate is human, to recurse, divine.
递回只应天上有, 凡人该当用回圈. L. Peter Deutsch
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.114.180
1F:推 xam:最後一句收的漂亮... 114.32.92.137 08/20 03:19
2F:推 milkdragon:推~~写得不赖,尤其是最後一句 XD 134.208.3.156 08/20 03:59
3F:推 james732:好一个首尾呼应法 推 XDDDD 220.143.16.237 08/20 08:31
4F:推 godfat:推 220.128.121.85 08/20 09:39
5F:推 chessjim:很不错的经验分享...... 203.68.161.27 08/20 11:45
6F:推 PsMonkey:好到想骂脏话的推!! 可以借转吗? 58.114.211.84 08/20 12:07
7F:推 abovelight:推一个要保持快乐... 219.87.66.196 08/20 13:17
8F:推 AmosYang:这篇文章 1.值得推荐 65.87.177.87 08/20 15:10
9F:推 legendmtg:推yoco 123.50.46.65 08/20 15:24
10F:推 chengeaho:推 yoco 60.251.155.7 08/21 20:04
11F:推 tkcn:推 61.230.18.68 08/23 11:21
※ PsMonkey:转录至看板 java 08/24 08:57
12F:推 pao0111:推! 114.47.112.120 08/24 09:04
13F:推 etrexetrex:推 140.118.9.202 08/25 13:29
14F:推 ast9869:推 123.110.225.57 08/29 17:37
15F:推 ykjiang:收录 61.230.64.72 09/08 12:51
16F:推 creeds:推最後一句!!赞 140.127.47.149 09/23 14:43
17F:推 BuzzStyle:真是好文118.169.138.137 09/29 18:51
18F:推 comlcs:推140.112.253.117 10/07 05:56
19F:推 PCIT:值得一推! 72.201.78.127 11/12 00:31
20F:推 john8324:大推! 124.155.174.91 04/27 22:16