学习资料来源:斯坦福大学公开课编程方法cs106aJAVA(下载中心有资源)
相关学习资料已上传至下载中心:学习过程中使用的代码、笔记初稿以及课程讲义(有兴趣者可自行下载)
学习过程中的大部分程序需要导入acm.jar包(已上传至下载中心,也可自行进入http://jtf.acm.org/ 进行下载),
处理大型数据结构的规则:
名词(nouns)对应 类(classes)
动词(verbs)对应 方法(methods) 数据要有与其对应的唯一标识符 需要选择适当的集合体 为了减少存储空间以及便于数据的调用,一般数据只有一份,使用时路径指向需要的数据即可 示例:编写一个简易网络音乐商店(需要能够添加音乐(Song)以及专辑(Album)等) 根据数据结构规则:(名称对应类,动词对应方法) Class Song name String band String price double unique identifier(name + band) —— 唯一标识符 Class Album name String band String list of songs ArrayList add list(iterator) ArrayList<Song> songs = new ArrayList<Song>(); HashMap<String, Album> albums = new HashMap<String, Album>();软件开发的一些技巧及建议
调试程序(Debugging): 设计软件(Design) —— 建筑师(Architect) 编写代码(Coding)—— 工程师(Engineer) 测试(Testing)—— 破坏他人财产的人(Vandal) 调试程序(Debugging)—— 侦探(Detective)—— 找到错误在哪 并修复它 软件开发四部曲: 测试 —— 开发 —— 调试 —— 部署 每一环节的花费是前者的十倍 调试经验总结:(产生问题的原因) 1、 不好的变量值 2、 有错误的逻辑 3、 无根据的假设——单位 软件调试的规则: 大部分问题都是简单的问题。 程序要系统化 质疑你的假设(很多人在程序出现问题时常常会假设问题可能出现在哪里) 挑剔的对你的代码 遇到问题时别惊慌失措 调试方法: println:如果错误的值是你程序的问题所在,在代码里添加额外的prinln语句可以查找问题所在位置 单元测试(Unit test):测试独立的单元 (不可一口气测试整个程序) eclipse调试方法:断点