# 第七部分:大作業
> 原文:[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