<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 《高效程序員的45個習慣——敏捷開發修煉之道》 ### 序一 一般誤認為敏捷就是快,越快就是越敏捷。豈不知它本來要以 **lightweight processes**(輕量級過程)命名,只不過有些參會者不喜歡被看做是在拳臺上跳來跳去的輕量級拳手,所以才用了“敏捷”。 ### 序二 敏捷不是目的,只是手段。只要某個手段適合某個場景,有助于提升質量,提高交付能力,提高開發者水平…… 成功 = 策略 + 堅持 ### 譯者序 > 武功者,包括內功、外功、武術技擊之術總和。有形的動作,如支撐格拒,姿勢回環,變化萬千,外部可見,授受教易,晨操夕練,不難熟練。而無形的內功指內部之靈惠素質,及識、膽、氣、勁、神是也,此乃與學練者整個內在世界的學識水平密切相關,是先天之慧根悟性與后天智能的總成,必須尋得秘籍方可煉成。 > <p style="text-align: right">——《武林秘籍大全》</p> <br/> >[success] 迭代開發,價值優先 分解任務,真實進度 > 站立會議,交流暢通 用戶參與,調整方向 > 結對編程,代碼質量 測試驅動,安全可靠 > 持續集成,盡早反饋 自動部署,一鍵安裝 > 定期回顧,持續改進 不斷學習,提高能力 ### 第一章 敏捷 —— 高效開發軟件之道 > 不管路走了多遠,錯了就要返回 重構 —— 在功能不變的情況下,重新設計部分代碼,改善代碼的質量。 迭代 —— 確定一小塊時間(一周左右)的計劃,然后按時完成他們。 ### 第二章 態度決定一切 #### 1. 做事 出現問題不要一味抱怨,而要問問“為了解決或緩解這個問題,我能夠做些什么”。 > 指責不能修復 BUG。 ##### **切身感受** 勇于承認自己不知道答案,這會讓人感覺放心。一個重大的錯誤應該被當作是一次學習而不是指責他人的機會。團隊成員們在一起工作,應互相幫助,而不是互相指責。 ##### **平衡的藝術** * “這不是我的錯”,這句話不對。“這都是你的錯”,這句話更不對。 * 如果你沒有犯任何錯誤,就說明你可能沒有努力去工作。 * 如果一個團隊成員的行為一再傷害了團隊,則他表現得很不職業。那么,他就不是在幫助團隊向解決問題的方向前進。這種情況下,我們必須要求他離開這個團隊。 * 如果大部分團隊成員(特別是開發領導者)的行為都不職業,并且他們對團隊目標不感興趣,你就應該主動從這個團隊中離開。 #### 2. 欲速則不達 在工作壓力下,不去深入了解真正的問題以及可能的后果,就快速修改代碼,這樣只是解決表面問題,最終會引發大問題。**不要墜入快速的簡單修復中,要投入時間和精力保持代碼的整潔、敞亮。** 不要孤立地編碼,要花些時間 **閱讀** 別人的代碼,閱讀代碼的頻率越高越好。實行 **代碼復審** 是發現 bug 最好的方法之一。 ##### **平衡的藝術** * 你必須要理解一塊代碼是如何工作的,但是不一定需要成為專家。只要你能使用它進行有效的工作就足夠了,不需要把它當作畢生事業。 * 如果一個團隊成員宣布,有一塊代碼其他人很難看懂,這就意味著他很難維護。 * 不要急于修復一段沒能真正理解的代碼。要解決真正的問題,不要治標不治本。 * 大型系統需要從更高層面上了解大部分代碼的功能,這樣可以理解系統各功能塊之間是如何交互的。 #### 3. 對事不對人 讓我們驕傲的應該是解決了問題,而不是比較出誰的主意更好。 ##### **切身感受** 一個團隊能夠很公正地討論一些方案的優點和缺點,你不會因為拒絕了太多缺陷的方案而傷害別人,也不會因為采納了某個不甚完美(但是更好的)解決方案而被人嫉恨。 ##### **平衡的藝術** * 盡力貢獻自己的好想法,如果你的想法沒有被采納也無需生氣。不要因為只是想體現自己的想法而對擬定的好思路畫蛇添足。 * 脫離實際的反方觀點會使爭論變味。若對一個想法有成見,你很容易提出一堆不太可能發生或不太實際的情形去批駁他。這時,請先捫心自問:類似問題以前發生過嗎?是否經常發生? * 在開始尋找最好的解決方案之前,大家對“最好”的含義要達成共識。在開發者眼中的最好,不一定是用戶認為最好的,反之亦然。 * 只有 **更好**,沒有 **最好**。盡管“最佳實踐”這個術語到處在用,但實際上不存在“最佳”,只有在某個特定條件下更好的實踐。 * 不帶個人情緒并不是要盲目地接受所有的觀點。用合適的詞和理由去解釋為什么你不贊同這個觀點或方案,并提出明確的問題。 ### 第六章 敏捷編碼 #### 31 告知不要詢問 不要搶別的對象或是組件的工作。告訴它做什么,然后盯著你自己的職責就好了。 **將命令與查詢分離開來。** 面向過程的代碼取得信息,然后做出決策。面向對象的代碼讓別的對象去做事情。P121
                  <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>

                              哎呀哎呀视频在线观看