<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 練習 3:質量 > 原文:[Exercise 3: On Quality](https://learncodethehardway.org/more-python-book/ex3.html) > 譯者:[飛龍](https://github.com/wizardforcel) > 協議:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) > 自豪地采用[谷歌翻譯](https://translate.google.cn/) 我將提出一個關于認知的科學理論,我并不能證明它: > 你所做事情的記憶,會讓你思考最終產品,這是正確的行為。 這基于我所做的,幾乎每一個創造性的事情的觀察,它是這樣: + 你創造的東西需要很長一段時間。這可能是軟件,繪畫,寫作或任何需要時間的東西。 + 你“完成”了它,然后當一個朋友過來之后,退后一步并且驚嘆于它有多好。 + 你的朋友然后指出了一個明顯的問題,突然間,你對你所創造的東西改變了看法。 + 現在你看到的是你朋友指出的這個錯誤,你不知道怎么可能錯過了它。 我相信這種現象會發生,是因為你記得你如何實現了它,它影響著你所認知的概念。創造的行為往往是一個積極的思想和工作流,所以你的回憶更積極或中立。這樣就會使你對作品的看法變得模糊,讓你認為它比實際更棒,但也隱藏了許多缺陷和細節。自從你創造它,并且記住了所做的事情,還有一種對作品的情感依戀,這影響了您對作品的判斷。然而,你的朋友沒有任何回憶,能夠更客觀地看待作品,這使其更容易看到這些缺陷。這就是為什么復制編輯者發現的錯誤比作者多。或者,為什么安全專業人員比作者發現更多的缺陷。 在繪畫世界中,這是很常見的,畫家有很多技巧來顛覆現象。萊昂納多·達·芬奇(Leonardo Da Vinci)在他的筆記本中甚至提到了這些技巧,他們的設計目的是,讓畫家站在他們挑剔的朋友的角度上: + 將畫面顛倒下來,從更遠的地方看。這表明了顏色和對比度的明顯問題,同時也顯示出您需要改變的重復形狀。在一個優秀的作品中,重復的形狀是不受歡迎的。 + 在鏡子中看著一幅畫,將其水平翻轉,所以你的大腦沒有如何創造的概念。水平翻轉將它變成一個你從未見過的全新的畫,然后突然間你是一個討厭的挑剔的朋友。 + 通過紅色玻璃或黑色鏡子來看這幅畫,它可以去除顏色,使其只能以黑色和白色顯示。這顯示了繪畫太亮或太暗的區域,這使得它在顏色上看起來奇怪。 + 通過放在他們前額上的鏡子來看待繪畫和主體,向上看鏡子,使鏡子和主體上下翻轉,以便比較兩者。這顯示了繪畫的明顯問題,并使場景和繪畫看起來像抽象的形狀,你的大腦沒有記憶。 + 把畫放幾個月,所以你忘了你怎么做了,然后再次看它。 + 請你討厭的朋友看看它,讓他們告訴你他們看到什么。 一些畫家甚至在他們的畫后面放了一面鏡子,所以他們可以簡單地轉過來檢查他們的進度。我經常使用黑色鏡子(或者只是將你的手機的屏幕關閉)放在我的額頭上來檢查繪畫。 在其他創意學科中,沒有這么多的自我批評技巧,并且在軟件中也只有很少。事實上,我發現程序員由于他們使用“程序員的方式”來完成代碼而聲名狼藉。“程序員的方式”,指程序員 Hack 一小段代碼,然后改一改,直到通過編譯,之后宣城他們完成了工作,并繼續。事實上,在這之后有很多事情要做,例如清理代碼,執行質量保證檢查,添加不變量和斷言,編寫測試,編寫文檔,并在整個系統的大環境中確認是否工作。但是沒有,程序員經常在編譯器(或測試套件)沒有錯誤時就停止了。 在這本書中,你將學習如何執行自己的一套檢查,類似于畫家使用的檢查。他們是看待你的代碼的方法,并斷開了你如何制作它的歷史,秘密就變成了檢查清單。顛覆你的工作記憶的方式,是強制自己遵循一套檢查,它假設你寫的東西有缺陷。我交給你的質量過程不會捕獲到所有的東西,但它會幫助你發現你能發現的,盡可能多的錯誤,也可以幫助你跟蹤正在犯下什么樣的錯誤,所以你可以在將來避免他們。之后,我會鼓勵讓其他人審核您的代碼,并審核其他人的代碼,以便您可以擦亮眼睛,找到更多的缺陷。 缺陷減少的理念是一種概率。你永遠不能刪除所有的缺陷。相反,您將致力于降低出現缺陷的可能性,并能夠粗略估計其概率。這樣可以避免您不知道您的代碼是否有缺陷,并幫助您擺脫,不知道你的代碼是否存在缺陷的恐慌。你不再使用“程序員的方式”,反之,當你完成并準備復查時,你會擁有很好的概念。你不再不斷地擔心每一個不可能的邊界情況,你將能夠評估這些邊界情況的可能性,并處理最可能的情況。 ## 研究性學習 在這個練習中,你需要找到一段你在幾個月前寫的代碼,然后再回顧一下。您可能不知道如何審核一段代碼,但只要瀏覽代碼,并對任何您不喜歡的內容編寫評論即可。關鍵是逐行并逐個文件查看每一行代碼。然后,標記您發現的令人反感的代碼,并寫出原因。它不一定是一個非常大的軟件,只是你之前寫的一些東西。 ## 深入學習 編寫您發現的所有缺陷的列表,并嘗試對其進行分類。您可以查看正式的缺陷類別,但是一個很好的基本集合是:邏輯,數據類型,調用。邏輯錯誤是,你寫的`if`語句或循環是錯誤的。數據類型錯誤是,您使用變量,并假定它是錯誤的類型。調用錯誤是,你調用一個函數并且犯了錯誤。這些不是正式類別,但是這是一個很好的開始。
                  <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>

                              哎呀哎呀视频在线观看