作者PsMonkey (痞子军团团长)
看板java
标题[转录]Re: [请益] 程式该怎麽越写越好呢
时间Mon Aug 24 08:57:12 2009
※ [本文转录自 Programming 看板]
作者: 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: 58.114.199.165
已徵得原 po 的同意而转载,修掉原文的推文
※ 编辑: PsMonkey 来自: 58.114.199.165 (08/24 08:58)
1F:推 TonyQ:真的是学越久 发文数就越少 = =a 08/24 11:54
2F:推 godfat:讨论没有进步的下场,个人感觉... 08/24 12:26
3F:→ PsMonkey:未必啦... 看有没有达到决定性的多数..... Orz 08/24 12:31
4F:推 undeadj:好笑又中肯的文章:) 08/24 12:57
5F:推 KanoLoa:XD 08/24 16:35
6F:推 Catbert:推「shit!」....XD 08/24 23:55
7F:推 guestciel:推~ 08/24 23:58
8F:→ PsMonkey:ㄜ... 请去 Programming 版推原 po 阿... XD 08/25 09:15