《笨办法学 python3》系列练习计划——36.设计和调试

这一题 Zed 为我们总结了一些经验技巧,一起来看看吧。

if 语句的规则

  1. 每一个 if 语句必须包含一个 else
  2. 如果因为这个 else 本身没有意义而永远都不应该被执行到,那么就必须在这个 else 语句的后面使用一个函数,让它能够打印错误信息,以便它能死给你看。就向上一题。
  3. if 语句的嵌套不要超过 2 层,最好只有 1 层。这意味着如果在 if 里又有一个 if ,那最好把第二个 if 放在另一个函数里。
  4. 将 if 语句当作段落来对待,其中每一个 if, elif, else 组合就跟一个段落的句子组合一样。在这种组合的最前面和最后面留一个空行以作区分。
  5. 你的布尔测试应很简单,如果它们很复杂的话,你需要将它们的运算事先放到一个变量里,并且为变量取一个好名字。

在日常编程中不要成为这些规则的奴隶。在训练中,你需要通过这些规则的应用来巩固你学到的知识,而在实际编程中这些规则有时其实很蠢。如果你觉得哪个规则很蠢,就别使用它。

第一条和第二条严格来说是没有必要的,没有 else 根本不会报错。不过我觉得 Zed 的意思恐怕是想说明——事情总有意外,即便程序正常的情况下 else 永不到,但不正常的时候留有报错的功能可以节省不少检查的时间。

循环的规则

  1. 只有在循环永不停止时使用 while 循环,这以为着你可能永远都永不到。这条只有 python 中成立,其他语言另当别论。
  2. 其他类型的循环都使用 for 循环,尤其是在循环的对象数量固定或者有限的情况下。

调试(debug)的小技巧

  1. 不要使用 “debugger”。 Debugger 所做的相当于对病人做全身扫描。你并不会得到某方面的有用信息,而且你会发现它输出的信息太多,并且大部分没用,或者让你困扰。
  2. 最好的调试方式是使用 print 在各个想要检查的关键环节将关键变量打印出来,从而检查哪里是否出错了。
  3. 让程序一部分一部分地运行起来。不要等一个很长的脚本写完之后才去运行它。写一点,运行一点,再修改一点。

家庭作业

写一个和上节练习类似的游戏。同类的任何题材的游戏都可以,花一个星期让它尽可能有趣一些。作为加分习题,你可以尽量多使用列表、函数、以及模组(记得习题 13 吗?),而且尽量多弄一些新的 Python 代码让你的游戏跑起来。

不过有一点需要注意,你应该把游戏的设计先写出来。在你写代码之前,你应该设计出游戏的地图,创建出玩家会碰到的房间、怪物、以及陷阱等环节。

一旦搞定了地图,你就可以写代码了。如果你发现地图有问题,就调整一下地图,让代码和地图互相符合。

最后一个建议:每一个程序员在开始一个新的大项目时,都会被非理性的恐惧影响到。为了避免这种恐惧,他们会拖延时间,到最后一事无成。我有时会这样,每个人都会有这样的经历,避免这种情况的最好的方法是把自己要做的事情列出来,一次完成一样。

开始做吧。先做一个小一点的版本,扩充它让它变大,把自己要完成的事情一一列出来,然后逐个完成就可以了




我的答案

(先挖坑)

返回目录

《笨办法学 python3》系列练习计划——目录

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章