首页课程小红花墙

计算机原理 · 小纸条

选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。

第 1 章30第 2 章30第 3 章30第 4 章30第 5 章30第 6 章30第 7 章30第 8 章30第 9 章30第 10 章30第 11 章30第 12 章30第 13 章30第 14 章30第 15 章30第 16 章30第 17 章30第 18 章30第 19 章30第 20 章30第 21 章30第 22 章30第 23 章30第 24 章30第 25 章30第 26 章30第 27 章30第 28 章30第 29 章30第 30 章30第 31 章30第 32 章30第 33 章30第 34 章30第 35 章30第 36 章30第 37 章15
只印题目
第 1 页 · 正面(题目)
1最小复现

为什么删代码反而更容易找到错?

2调试器是什么

了解一下你用的编辑器怎么打断点。

3橡皮鸭子

找家人讲讲你最近写的一段代码。

4什么是测试

为"求两数最大值"设计三组测试数据。

5边界最容易错

给"数组求最大值"列出四组边界测试。

6先想好答案

为什么"看结果顺眼"不算测试?

7改完要重测

想想为什么手工测试很难做到"每次全跑一遍"。

8版本是什么

你有没有存过"最终版2"这种文件?

9版本控制工具

为什么"能随时退回去"让人敢于大胆改代码?

10一次提交一件事

给"修好了闰年判断的错误"写一句提交说明。

第 1 页 · 背面(答案)

参考答案(家长):断点就是"跑到这里停一下",是调试器最常用的功能。

参考答案(家长):干扰少了,能出错的地方就那么几处,一眼可见。

参考答案(家长):如 (3,5)→5、(5,3)→5、(4,4)→4,覆盖前大、后大、相等。

参考答案(家长):讲不清楚的地方,往往就是错误藏身之处。

参考答案(家长):那是在给程序找理由,不是在检验它。

参考答案(家长):只有一个元素、全部相同、最大值在开头、最大值在末尾。

参考答案(家长):几乎每个人都有——这正是版本控制工具要解决的问题。

参考答案(家长):太累,人会偷懒跳过,机器不会。

参考答案(家长):如"修复闰年判断:漏了整百年不闰的情况"——说清改了什么、为什么。

参考答案(家长):改坏了能撤销,试错成本几乎为零。

第 2 页 · 正面(题目)
11历史能查

如果没有历史记录,接手一个陌生项目会遇到什么麻烦?

12分支

分支像不像写作文时先打草稿?

13合并与冲突

为什么"各改各的文件"能减少冲突?

14多人怎么协作

三个人一起做小组作业,怎么分工才不打架?

15代码互看

和同学互换代码,各自找出对方一个可以改进的地方。

16文档给谁看

为你的一个程序写三句话说明。

17需求是什么

有人让你"写个算成绩的程序",你该先问哪三个问题?

18先想再写

做下一道题前,先在纸上写出三步思路。

19拆成小块

把"做一个学生成绩管理程序"拆成四个小任务。

20先跑通再优化

为什么"能用的丑版本"比"完美的半成品"有价值?

第 2 页 · 背面(答案)

参考答案(家长):很像。草稿随便涂改,誊正的那份始终干净。

参考答案(家长):只能猜,不知道某段奇怪的代码是有意为之还是写错了。

参考答案(家长):把任务切成互不重叠的几块,各做各的,最后合并。

参考答案(家长):改动不重叠,工具就能自动合并。这也是模块划分清楚的好处。

参考答案(家长):一句功能、一句用法、一句注意事项,足矣。

参考答案(家长):换个人看,盲点立刻暴露。

参考答案(家长):想清楚再写,是所有高手的共同习惯。

参考答案(家长):如:算哪些科目?怎么算(平均还是加权)?结果怎么呈现?

参考答案(家长):能用的东西可以验证想法、可以逐步改进;半成品什么都验证不了。

参考答案(家长):如:录入、存储、查询、统计。各自独立可做。

第 3 页 · 正面(题目)
21重构

为什么重构一定要先有测试?

22技术债

想一个生活里"先凑合、后来更麻烦"的例子。

23不要过度设计

为什么"以后可能用到"常常并不会真的用到?

24简单是本事

把你写过的一段代码,试着改短改清楚。

25命名规范

给"最大分数"这个变量写出两种常见命名。

26魔法数字

if (score >= 60) 里的 60 该怎么改进?

27防御性编程

写除法函数时,该先检查什么?

28错误要说清

把"输入错误"改成一句有用的提示。

29日志

日志和 Day 969 的打印大法有什么区别?

30走了很长一段路

写下你最想用编程做成的一件事。

第 3 页 · 背面(答案)

参考答案(家长):如东西随手乱放,找的时候翻半天。

参考答案(家长):否则你不知道自己有没有在"整理"的过程中改坏了功能。

参考答案(家长):短不是目的,清楚才是。

参考答案(家长):需求会变,猜出来的需求多数是错的。

参考答案(家长):定义 PASS_SCORE = 60,既好懂又便于统一调整。

参考答案(家长):max_score(下划线式)或 maxScore(小驼峰式),团队内统一即可。

参考答案(家长):如"年龄必须是 1-150 之间的整数,你输入的是 -5"。

参考答案(家长):检查除数是不是 0。

参考答案(家长):没有标准答案。有想做的事,学习才有方向。

参考答案(家长):打印是调试时临时用的,日志是长期保留、给线上排错用的。

op599 课程