# 第七部分:大作业
> 原文:[Part VII: Final Projects](https://learncodethehardway.org/more-python-book/part6.html)
> 译者:[飞龙](https://github.com/wizardforcel)
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
> 自豪地采用[谷歌翻译](https://translate.google.cn/)
本书的最后一部分是你进阶更高级项目,并尝试确定你的个人流程的地方。这些项目是困难的组合,但他们应该帮助你正式化你的流程,并找出适合你的东西。最重要的是,你应该着手分析你的工作方式和最适合你的东西。也许你没有执行我在本书建议的,关于个人发展的任何事情,但我希望你继续阅读这本书,并找到分析自己的方法。作为程序员,这样做会给你一种有效的方式,来成长和改进。
我们应该检查你至今为止所学到的知识,因为我会要求你尽可能多地应用它:
+ 第二部分,你学会了如何 Hack,以及如何使你的起步尽可能顺利。
+ 第三部分,你了解了数据结构和算法,但也学会了如何专注于质量和编写良好的测试。
+ 第四部分,你将测试和质量技能应用于一些项目,专注于测试驱动开发和审计。
+ 第五部分,你了解了解析,还有测量你的质量,在你工作和撰写有效测试的时候。
+ 第六部分,你研究了 SQL 数据库,并学习了一个新的流程,用于分析数据并构建良好的数据。
第七部分,你会将一切东西应用于一系列的项目,确保关注三个方面的改进:
+ 流程,通过尝试定义你的流程,并坚持它。
+ 质量,通过专注于自动化测试,测试工具,并跟踪你的流程。
+ 创造力,通过尝试解决没定义好的东西,并以一些松散、有趣的 Hack 开始。
## 你的流程是什么?
对于这本整本书,我已经告诉了你,我要让你使用什么流程工具。每个部分我都给你一个不同的挑战,专注于流程,质量或创造力,然后给你练习来做。你一直在跟踪你的质量,并从图表中查看什么适合你,什么不适合你。现在是时候开发自己的流程来完成一个项目,然后将其应用到本书这个部分的项目中。
花时间想出你的流程主题。它是否是 Hack 或者是 TDD 呢?是否始终是 TDD 并且有大量审计呢?它只是 Hack 和审计嘛?我的意思不是仅仅选择两件事,而应该考虑你的主题。把它当成你的个人风格来选择。我碰巧喜欢帽子和红衬衫。不要问我为什么,我只是喜欢他们。这就是对你而言的流程描述。这是你夏日里的圆点连衣裙和黄色的鞋子。在编程中,我通常遵循“Hack,优化,测试,破坏”的主题。
一旦你有简单的主题声明,现在是时候为这个主题制定你的步骤了。将它们写在一张卡片上,以便你可以遵循他们,我会警告你,简单比复杂更好。复杂的流程很难处理。你的流程也应该命中创造力和质量。我的流程对于不同的项目是不同的,但是我在这本书中教导过你们。使用我至今为止教你的东西来想出自己的流程。
一旦你制定了你的流程,你可以回顾一下你的笔记,看看你能否找到指标,来证明你所选择的东西。也许你已经选择了 TDD,因为它让你觉得你写了更加稳固的代码,但是你在第五部分中的质量指标并不是非常好。对使用你喜欢的流程,我有一些要说的话,但是如果你喜欢的流程没有效果,那么现在就是把它扔进回收站的时候。
随着你的流程的出现,现在是时候来测试一些项目了。不要害怕犯错。有时,我们认为我们决定的东西是最好的,然后战火就像原子弹一样融化它。这是一个科学实验,所以如果一些事情是一场灾难,那么使用你的跟踪和指标,找出原因并简单地重新整备,再试一次。
- 笨办法学 Python · 续 中文版
- 引言
- 第一部分:预备知识
- 练习 0:起步
- 练习 1:流程
- 练习 2:创造力
- 练习 3:质量
- 第二部分:简单的黑魔法
- 练习 4:处理命令行参数
- 练习 5:cat
- 练习 6:find
- 练习 7:grep
- 练习 8:cut
- 练习 9:sed
- 练习 10:sort
- 练习 11:uniq
- 练习 12:复习
- 第三部分:数据结构
- 练习 13:单链表
- 练习 14:双链表
- 练习 15:栈和队列
- 练习 16:冒泡、快速和归并排序
- 练习 17:字典
- 练习 18:性能测量
- 练习 19:改善性能
- 练习 20:二叉搜索树
- 练习 21:二分搜索
- 练习 22:后缀数组
- 练习 23:三叉搜索树
- 练习 24:URL 快速路由
- 第四部分:进阶项目
- 练习 25:xargs
- 练习 26:hexdump
- 练习 27:tr
- 练习 28:sh
- 练习 29:diff和patch
- 第五部分:文本解析
- 练习 30:有限状态机
- 练习 31:正则表达式
- 练习 32:扫描器
- 练习 33:解析器
- 练习 34:分析器
- 练习 35:解释器
- 练习 36:简单的计算器
- 练习 37:小型 BASIC
- 第六部分:SQL 和对象关系映射
- 练习 38:SQL 简介
- 练习 39:SQL 创建
- 练习 40:SQL 读取
- 练习 41:SQL 更新
- 练习 42:SQL 删除
- 练习 43:SQL 管理
- 练习 44:使用 Python 的数据库 API
- 练习 45:创建 ORM
- 第七部分:大作业
- 练习 46:blog
- 练习 47:bc
- 练习 48:ed
- 练习 49:sed
- 练习 50:vi
- 练习 51:lessweb
- 练习 52:moreweb