(学习日记)数据结构第一章中life游戏开发的学习记录
2013-03-05 23:30
253 查看
使用占位函数
在编写项目时,在用到的每个函数的位置上放上简短的哑函数,又称占位函数。这样做,至少能编译程序并确信类型和变量的定义在语法上是正确的。
有些老的编译器不支持bool类型。我们可以用下面语句模拟:
typedef int bool;
const bool false= 0;
const bool true=1;
栅栏(hedge)或监视哨(sentinel)
监视哨是放入数据结构中的额外的元素,因而不用再将边界条件作为一种特殊情况对待。
程序设计技术规则
将输入和输出作为独立的函数,使得它们易于修改并能定制修改以适应计算系统。
多个.h头文件时注意#include(c++ primer 第四版 p60预处理器的简单介绍)
注意使用 头文件保护符(header guard): 在设计头文件时,应使其可以多次包含在同一源文件中,我们必须保证多次包含同一头文件不会引起该头文件定义的类和对象被多次定义。
注意:(c++ primer 第四版 p69 命名空间的using声明)有一种情况下必须总是使用完全限定的标准库名字(std:: 前缀):在头文件中。应为头文件的内容会被预处理器复制到程序中。用#include包含文件时,相当于头文件中的文本将成为我们编写的文件的一部分。如果在头文件中放置using声明,就相当于在包含该头文件的每个程序中都放置了同一using声明,不论该程序是否需要using声明。
(更多关于#include的,参考msdn中#include指令(c/c++)。)
驱动程序:
调试和测试单个函数的一种方法是写一个较短的辅助程序来为此函数提供必要的输入、调用此函数并评价函数执行的结果,这样的辅助函数称为函数的驱动器。
测试:
对打的项目来说,在编写每个小模块时就对它应用玻璃盒方法进行测试,而当程序完成时就使用黑盒测试数据来探测较大的部分。
发现了life.cpp中有个bug。对于字母输入,会出错。
使用<typeinfo>
中的 typeid(对象).name();返回类型 貌似可以做出来。但是我失败了,bug还是在那里~
在编写项目时,在用到的每个函数的位置上放上简短的哑函数,又称占位函数。这样做,至少能编译程序并确信类型和变量的定义在语法上是正确的。
有些老的编译器不支持bool类型。我们可以用下面语句模拟:
typedef int bool;
const bool false= 0;
const bool true=1;
栅栏(hedge)或监视哨(sentinel)
监视哨是放入数据结构中的额外的元素,因而不用再将边界条件作为一种特殊情况对待。
程序设计技术规则
将输入和输出作为独立的函数,使得它们易于修改并能定制修改以适应计算系统。
多个.h头文件时注意#include(c++ primer 第四版 p60预处理器的简单介绍)
注意使用 头文件保护符(header guard): 在设计头文件时,应使其可以多次包含在同一源文件中,我们必须保证多次包含同一头文件不会引起该头文件定义的类和对象被多次定义。
注意:(c++ primer 第四版 p69 命名空间的using声明)有一种情况下必须总是使用完全限定的标准库名字(std:: 前缀):在头文件中。应为头文件的内容会被预处理器复制到程序中。用#include包含文件时,相当于头文件中的文本将成为我们编写的文件的一部分。如果在头文件中放置using声明,就相当于在包含该头文件的每个程序中都放置了同一using声明,不论该程序是否需要using声明。
(更多关于#include的,参考msdn中#include指令(c/c++)。)
驱动程序:
调试和测试单个函数的一种方法是写一个较短的辅助程序来为此函数提供必要的输入、调用此函数并评价函数执行的结果,这样的辅助函数称为函数的驱动器。
测试:
对打的项目来说,在编写每个小模块时就对它应用玻璃盒方法进行测试,而当程序完成时就使用黑盒测试数据来探测较大的部分。
发现了life.cpp中有个bug。对于字母输入,会出错。
使用<typeinfo>
中的 typeid(对象).name();返回类型 貌似可以做出来。但是我失败了,bug还是在那里~
相关文章推荐
- 最近打算开始学游戏开发,故此先记录一些Unity的学习网站
- Android游戏开发大全 学习笔记 第一章 Android平台简介
- [学习笔记]Silverlight4 RIA 开发全程解析[项目全程记录]----第一章FitnessTrackerPlus应用程序概述
- oracle开发之<<SQL Cookbook>>学习笔记整理:第一章 检索记录
- 游戏开发记录120811:cocos2d-x引擎学习---目录结构及主要类
- Sliverlight 3 3D 游戏开发学习 第一章:光照、照相机与行为
- 《全国计算机等级考试三级教程》章节学习记录——第一章.数据库应用系统开发方法
- android学习:游戏开发(只做记录,不做学习资料)
- 游戏开发学习记录01-关于在Unity开发的游戏中部署后端云的选择
- 游戏开发学习记录03-用LeanCloud在Unity中部署后端服务代码实现
- 对想学习Kjava开发手机游戏的同学说几句(转)
- 【iOS-Cocos2d游戏开发】系列(总结了多篇文章,可以好好学习
- 游戏开发学习思路
- [原创]一点一滴学习网络游戏开发,第二章节:框架设计初步
- Cocos2d-x跨平台手机游戏开发学习路线图
- 《android开发-从小工到专家》学习记录(一)
- Java 学习记录(一) 从零开始,初识 java,配置java开发环境
- 数据结构学习记录连载5(堆栈的学习)
- 数据结构学习记录连载6(堆栈的学习续)
- 学习记录--使用 F12 开发人员工具调试 HTML 和 CSS