1
0
mirror of https://github.com/apachecn/lmpythw-zh.git synced 2025-05-28 12:02:19 +00:00
lmpythw-zh/ex12.md
wizardforcel 11095d7d92 ex12
2017-08-04 22:32:09 +08:00

58 lines
4.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.

# 练习 12复习
> 原文:[Exercise 12: Review](https://learncodethehardway.org/more-python-book/ex12.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 分钟内完成一些小项目。这会把重点放在项目启动的问题位置,并让你重复该流程的一部分。
+ 当你处理这些项目时,可以确定项目启动时的问题的可能原因。这可以表现为你的计算机设置,工作环境,心理思维过程或身体健康的形式。还有更多的,但是这是最可能的原因。
+ 一旦确定了可能的原因,你就可以在 45 分钟 Hack 的小间隔内消除或改变它们。
+ 最后,记录和绘制指标,看看这些可能的变化是否有帮助,但也要确保它们不会干扰你的表现。
这不需要是正式的科学流程,它就是实用的。所有你需要的是,将它当作一本日志来帮助你客观地看待你的工作方式。如果你做的正确,你会遇到你以前没想过的惊人的事情。收集数据迫使你探索新的可能性,并扩展一些东西,你认为它们可能是原因。
请记住,这个个人指标的日志不应与其他人分享,特别是管理人员。管理者会试图将这些指标强加于你,这是不可行的,如果这样做,那么你应该拒绝。这些是你的私人笔记,没有人有权阅读 -- 非常像日记或私人电子邮件。
## 挑战练习
最后的练习是让你选择最喜欢的工具,并花费一系列 45 分钟的时间,在一周或更多课程中优化它。使用你所学到的关于自己的一切,接受这个项目,从头开始,创造出更加健壮的东西。限制你自己 45 分钟一次,但不要把这个最终的项目当作一个黑魔法。相反,这是你正在开发的黑魔法的下一步。
在我完成一些快速的 Hack ,来测试一个想法之后,我将删除它或清理它。 如果这个黑魔法十分恶心,它就不能看到明天的太阳了,那么我就删除它,并以一个干净的开始重新实现它。 你不会忘记你所做的一切,并且必须解决这些问题,但是关注质量将会帮助你把它做得更干净。 如果黑魔法没有那么糟糕,那么我要做的就是在扩展之前进行清理。
将黑魔法转化为健壮的程序的一种有效技术是,使用自动化测试套件,将它的关键元素提取到库中。这迫使你将代码视为将在其他代码中使用的代码。我会这样做:
+ 浏览文件,并将我的“黑魔法意识流”转换成一组函数。
+ 然后我会使用 + DRY不要重复你自己重构代码确保删除重复的代码但不要太多。 零重复代码基本上是加密的随机的东西。
+ 一旦清理和运行完毕,和之前一样,但是带有函数,我将这些函数放进模块,并确保原始代码保持有效。 记住,不要在清理过程中改变事情,只需要重新组织并修复它。
+ 代码移动并再次正常工作之后,坐下来编写测试用例,确保我开始修改东西时,它能够在未来继续工作。
对于这个练习,你要选取你最喜欢的项目,并对它做这个“正式化”的过程。保持 45 分钟一次,并通过上述流程进行清理。当天工作时间最好超过 45 分钟,只需确保在每次会话之间休息 15-30 分钟。这是相同的时间框架,除非你不在 Hack你应该认真对待。
## 研究性学习
+ 将你的黑魔法代码与你的正式代码进行比较。你是否通过清理找到错误?是否还有其他改进?
+ 如果黑魔法和清理后的代码在行为上几乎相同,那么你真的需要清理黑魔法吗?为什么你需要清理黑魔法,即使它的工作正常,并且可能更简单?
+ 在你经常运行的命令列表中,尝试一个新的命令(参见练习 11并尝试这个完整的流程。完成一个快速的 Hack然后清理它使它变得正式。
## 深入学习
这里是其它命令的列表,你应该尝试在 45 分钟内做出替代品:
+ `ls`
+ `rm`
+ `rmdir`
+ `mkdir`
+ `cal`
+ `tail`
+ `yes`
+ `false`
尝试实现它们中的一些吧。