1
0
mirror of https://github.com/apachecn/lmpythw-zh.git synced 2025-05-31 21:47:40 +00:00
lmpythw-zh/part4.md
wizardforcel 543bb6e624 part4
2017-08-10 20:47:58 +08:00

27 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 第四部分:进阶项目
> 原文:[Part IV: Intermediate Projects](https://learncodethehardway.org/more-python-book/part3.html)
> 译者:[飞龙](https://github.com/wizardforcel)
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
> 自豪地采用[谷歌翻译](https://translate.google.cn/)
在第三部分中,你学习了数据结构和算法的基础知识,但更重要的是,你学习了审计和测试代码。你并没有审计和测试你自己的代码。你刚刚通过我教给你的方式,审计了我的缺陷。第四部分的目标是通过一系列挑战模式的项目,审计你自己的代码。在接下来的五个项目中你的任务如下:
+ 进行45分钟的 Hack 会话,创建项目并开始。
+ 使用你在第三部分中学到的第一个 Hack审计你的实现中潜在的缺陷和问题。
+ 然后在另一个 45 分钟内开始清理,并把你的黑魔法开发成正式的东西。
+ 在 45 分钟的会话内审计并优化它。
这 45 分钟的会话与你的第一批项目之间的唯一区别是你不需要严格限制时间。45 分钟只是一个指导,来确保你不要太久才审计你的代码。审计停留在好的实现或者想法中间的代码是没有意义的。显然,这些半成品代码不值得很好地审计。关键是要工作大约 45 分钟,当你暂停了一段时间,然后查看你做了什么。
在本节中,你将参考第三部分的清单,并严格遵守它。在进行审计之前,请先休息 10~15 分钟,来唤醒头脑并切换到批判的思维模式,这是很好的。
当你处理这些项目时,我将提出一些算法,当它们适合时,你可以在应用程序中使用。你不必使用你实现的算法,但你应该尝试,只是为了看看它们的工作原理。很可能他们不比 Python 现有的数据结构(`list``dict`)更好,因为 Python 的数据结构已经有了很多调整,来变得尽可能快。尝试使用算法,以便你了解何时使用它们以及如何检查它们,这仍然是一个很好的练习。
## 记录你的缺陷
最后,我要求你跟踪你的缺陷率。就像在第二部分中,跟踪你完成的功能那样。你将跟踪你在审计中找到了多少缺陷,以及它们有什么样的缺陷。通过创建一个表格,顶部是缺陷类型,左侧是日期时间,在你的日志中记录你发现的东西。如果你想要使用电子表格,你也可以直接绘制结果。跟踪发现这些缺陷的目标是,开始了解你在编程会话期间经常犯的错误,以便你可以尝试阻止他们或在审计中简单留意它们。