<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 練習 49:`sed` > 原文:[Exercise 49: sed](https://learncodethehardway.org/more-python-book/ex49.html) > 譯者:[飛龍](https://github.com/wizardforcel) > 協議:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) > 自豪地采用[谷歌翻譯](https://translate.google.cn/) 當你學習如何制作快速而簡陋的黑魔法時,你在練習 9 中實現了一個“低配版”的`sed`。在本練習中,您將嘗試實現另一個精確的命令副本。在練習 48 的研究性學習中,您的任務是從您的`ed`實現中創建一個模塊。如果你沒有這樣做,那么你需要為`sed`命令實現它,并且讓`sed`使用它。 你的流程怎么樣?你是否發現它在這些更長的項目上給了你幫助?有沒有你認為需要改變的東西?你是否收集了指標,還是覺得你現在已經渡過了那個階段?花點時間開始這個練習,看看你的日志,看看自從你開始讀這本書以來,你已經改進了多少。 這個練習的挑戰是,從練習 48 中的`ed`項目中獲取代碼,并在該項目中復用它。“可復用性”的概念對于軟件的工作方式至關重要,但是很多時候,在項目中復用的計劃會導致災難。人們經常設計軟件,以便每個組件可以在其他軟件中使用,但是在這樣做時,它們只是使設計過于復雜,并沒有真正計劃在任何其他項目中使用任何東西。最好使軟件是離散的、獨立的,然后取出可以用的一部分,在啟動另一個項目時使用它。 我通常編寫我的軟件,不會擔心可復用性。我不在乎項目的部分是否將用于其他項目。我只關心這一部分軟件工作良好,并且質量高。當我啟動一個新的項目,我會去看看我寫的其他東西,看看有什么我可以再次使用的東西。如果我花時間在較舊的項目中拉出我可以使用的模塊。這使我的復用流程看起來像這樣: + 通過自動化測試,實現功能完整的高質量軟件。不要在乎用于其他軟件的任何其它部分。 + 啟動一個新項目,它可能使用另一個項目的代碼。 + 回到第一個項目,將代碼放入一個單獨的模塊,使這個第一個項目使用它,并且絕對不更改任何其它東西。 + 在適當的地方使用這個模塊,一旦在原始的項目中,我的原始自動化測試運行良好,我就在新項目中使用該模塊。 + 最后,嘗試在新項目中使用新模塊,會發現我需要在模塊中進行的更改。我將進行更改,并確保它們與原始軟件配合良好。 沒有自動化測試的情況下,你不能做到它,所以如果你的`ed`項目沒有測試,我想知道是否你讀了這本書。回去,并確保你的測試完全覆蓋了`ed`項目。 ## 挑戰練習 首先你要拉取`ed`項目的一部分,它處理命令,并把它放入`ed`所使用的模塊中,而不會破壞測試。實話說,這將成為這個項目最難的部分之一,因為`sed`大多只是使用它們,而沒有`ed`的交互界面的模態本質。 接下來,您將要從練習 9 中獲取舊的代碼,并重新啟用它,或者在這個新項目上從零開始。一旦你確定了,你將開始使用ed模塊實現盡可能多的sed。這項工作的創造力在于,確定兩個項目需要使用什么,然后將其放在模塊中。 這個實現中,你的目標是,制作一個`sed`命令的精確副本。這部分練習中沒有創造力。只要試著盡可能小心,并使用自動化測試來確認,您的命令和原始的`sed`的工作方式是一樣的。 最后,當您處理`sed`時,您將在模塊中找到所需的東西。您需要對模塊進行更改,使其在`sed`中工作,然后返回到`ed`并使其在那里工作。這三個項目之間的彈跳流程將是一個挑戰,所以我建議你保持你的 45 分鐘的時間塊,所以你不會被上下文切換搞暈。 ## 研究性學習 當你處理模塊時,你是否發現了任何編程習慣,使拉取代碼變得困難?它們是什么?
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看