作者hosen0036 (lunarian)
看板study
标题Re: [问题] 学程式遇到困难
时间Thu May 15 02:01:58 2008
※ 引述《xvimg (sweet bye and bye)》之铭言:
: 每个课程要的语言也不一定一样
: 导致 我现在每个语言都不熟
: 遇到问题时 想法有 可是都搅在一块
: debug能力又很弱
: 可是 参考了别人的码 乱交一番後
: 我就会瞬间忘记那种感觉了
你的情况,觉得应该对程式有一点基础了
所以原因可能是对程式的语法不熟
举个例子,就像是英文单子会一点,文法会一点,
但是没辨法用完整的英文句子表达一样
以下是我在写 c,c++,java,c#,asp,matlab的一些经验,
前三个有上课,後三个是找工具书自学,
如果是MFC,DirectX的话我就没辨法,野人献曝,希望对你有帮助
上手比较快的方法是,找出程式的基本语法架构
例如:
C++:
#include <iostream.h>
main() { cout>>"hello world"; }
C:
#include <stdio.h>
main() { printf(%s,"hello world"); }
java:
class test{
public static void main(String args[])
{ System.out.println("hello world"); }
}
C#:
using System;
namespace test {
class testClass {
static void Main(string[] args) {
Console.Write("hello world");
}}}
上面4个语言,做的都是印出 hello world
这是程式语言的基本架构,无论写多复杂的程式,都是以此为基础发展
其他如副函式,函式呼叫...也是有其基本架构, 所以都是查工具书就可以上手
----------------------------------------
Debug也是熟悉语法的手段之一
MS的编译器,java的netbeans,matlab编译器的debug功能都做得不错
设停驻点、逐行执行、即时变数值...,这些功能比用纸笔debug方便
因为只有几个按键而已,这些功能也能用来实验程式码的性质
在上百上千行程式码中抓bug的原则是,
"切割程式码,再一段一段的确认"
副函式的好处之一就在这里,可以在别处测试副函式,
直到传入和传出的值"完全没错误",再接原来的主程式中,
如果主程式出来的结果和自己想的不一样的话
那麽问题不是传入的值出错,就是後面的程式码有问题,但一定不是副函式的问题
如此就把程式码的范围确定并简化了。
--------------------------------------
有时回头看自己写过的程式,
常常发现自己看不懂这是写来做什麽、或为什这样写
救急的方法就是用编译器的逐行执行去看
预防的方法就是"养成写注解"的习惯,例如:
/**************************************
函式名称:
函式功能:
变数义意:
传入传回值的义意:
........
*****************************************/
-------------------------
如果是有方法,但不知如何下手,从哪开始的话
建议可以先画流程图,或者边写程式边画,这样就不会迷路了
以上
这不是广告,我觉得很不赖的程设网站
推奖网站:程式设计俱乐部
http://programmer-club.com/index.asp
※ 编辑: hosen0036 来自: 218.163.172.36 (05/15 02:07)
1F:推 nowar100:matlab :) 拼错了 05/15 02:07
※ 编辑: hosen0036 来自: 218.163.172.36 (05/15 02:13)
2F:→ hosen0036:笔误,谢谢楼上 05/15 02:13
3F:推 crazybad:"hallow world"? 05/15 03:01
※ 编辑: hosen0036 来自: 218.163.180.193 (05/15 09:23)
4F:推 fishexex:推一下 这篇超详细的 05/15 12:48
5F:推 zha0:没在写 comment +1 XDXD 05/17 20:44
6F:推 JustbeXD:推荐这篇文章,虽然不是相关领域,但觉得很详细 05/18 15:38
7F:推 lauw:很棒的解说! 06/02 13:44
8F:→ my99:y1 08/23 18:28