约定一些名词:
嵌套层或者层:一个函数调用就是一个层,当它调用下一个就会进入下一个层
变量,类,函数命名的约定:
每个单词第一个字母大写,除了特殊的ID,POP,PUSH例外。
变量和对象名称用下划线分隔单词,函数名称不需要。
临时变量(只在小范围起作用),开头用下划线来标明。
对于类中的指针,必须在构造函数中初始化为NULL。
错误定义:
#ifndef ERRORDEFINE_H
#define ERRORDEFINE_H
//内存分配错误
#define ERROR_NEW 100 //FileStreamList.AddFileStream()
//FunctionList.AddFunction()
//SymbolList.AddSymbol()
//DataStack.PUSH()
//CodeStack.PUSH()
//内存删除错误
#define ERROR_DELETE 101 //FunctionList.~FunctionList()
//SymbolList.~SymbolList()
//DataStack.POP() 注意是throw抛出错误
//CodeStack.POP() 这个是返回错误,不是抛出
//未定义错误,通常是不可能执行的返回
#define ERROR_NOTDEFINE 102 //SymbolList.UpdSymbol()
//---------------------------------------------------------------------------------
//FileStreamList下的错误定义
//行不存在
#define ERROR_LINENOTEXIST 200 //FileStreamInfo.SetLine()
//没能取得行
#define ERROR_LINENOTGET 201 //FileStreamInfo.GetLine()
//文件打开失败
#define ERROR_OPENFAIL 202 //FileStreamList.AddFileStream()
//---------------------------------------------------------------------------------
//FunctionList下的错误定义
//名称定义无效
#define ERROR_NAMEINVALiD 300//FunctionList.AddFunction()
//函数已经存在
#define ERROR_FUNCTIONEXIST 301//FunctionList.AddFunction()
//函数不存在
#define ERROR_FUNCTIONNOTEXIST 302//FunctionList.GetFunction()
//---------------------------------------------------------------------------------
//SymbolList下的错误定义
//符号已经存在
#define ERROR_SYMBOLEXIST 400//SymbolList.AddSymbol()
//符号不存在
#define ERROR_SYMBOLNOTEXIST 401//SymbolList.GetSymbol()
//---------------------------------------------------------------------------------
//DataStack下的错误定义()
//数据堆栈为空
#define ERROR_DATASTACKEMPTY 500//DataStack.POP()
//---------------------------------------------------------------------------------
//CodeStack下的错误定义
//代码栈为空
#define ERROR_CODESTACKEMPTY 600//CodeStack.POP()
#endif