日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

資深程序員:給Python軟件開發測試的25個忠告!

瀏覽:59日期:2022-07-28 16:13:34

資深程序員:給Python軟件開發測試的25個忠告!

當我加入Ansible團隊之后,我決定寫下多年來所學到的軟件工程實踐和原理方面的經驗。我的激情是測試,因為我相信良好的測試既可以確保最低質量標準(可惜很多軟件產品都缺乏這一點),也可以指導和塑造開發過程本身。以下許多建議與測試有關,其中一些原則甚至特定于Python,但絕大多數不是。(對于Python程序員,PEP 8應該是編程風格和指南的第一站。)

1、不要編寫你認為以后可能需要但目前不需要的代碼。這是對未來想象的用例的編碼,并且這種代碼一定會成為死碼或需要重寫,因為未來的用例總是與程序員的想象略有不同。

注釋代碼也是如此,如果一段注釋的代碼正在進行發布,它不應該存在。YAGNI是編程的核心要素,最佳參考資料是極限編程解析(Extreme Programming Explained)。

2、不進行多余的測試?;A設施,框架和庫是需要測試的,不要測試瀏覽器或外部庫,除非你真的需要。測試你自己編寫的代碼,而不是其他人寫的代碼。

3、多次重復出現的代碼不需要測試。輔助功能不需要測試,當你把它們分開并重新使用時,需要測試。如果反復編寫類似代碼多次時,您通常會很清楚正在解決的問題。

4、關于API設計(外部面向對象API):簡單的事情盡量簡單完成,復雜的事情盡力優化。首先為簡單案例設計,如果可能的話,優選為零配置或參數化。Addoptions或附加的API方法,用于更復雜和更靈活的用例(根據需要)。

5、盡早檢查無意義的輸入或無效狀態,最好是異常或錯誤響應,這將使程序員很清楚問題的確切信息。(除非真的需要,否則不要進行輸入驗證類型的檢查)。

6、在可能的情況下,將測試對象視為黑盒子,通過公共API進行測試,這就不需要調用私有方法或修改狀態。

對于一些復雜的場景,編寫測試真的是有幫助的,因為這迫使程序員考慮代碼的行為以及在編寫代碼之后如何進行測試。測試首先鼓勵更小、更模塊化的代碼單元,這通常意味著更好的代碼。

7、對于單元測試(包括基礎架構測試),應測試所有代碼路徑。 100%的覆蓋是一個良好的開端。除非你無法覆蓋所有可能的排列/組合的狀態,只有一個非常好的理由才能使代碼路徑不全部經過測試,以時間為借口早晚會浪費更多時間。

8、代碼是敵人:可能出錯,需要維護。盡量有更少的代碼實現必需的功能,刪除不必要的代碼。

9、努力通過良好的命名規范和已知的編程風格使代碼可讀和形成自我記錄。通常隨著時間的推移,很多程序員都不認識自己寫的代碼了。

10、代碼注釋——對一些無法明確的代碼,請盡早提供注釋,說明為什么要這么寫,有無其他方法等。

11、編碼過程中務必想想可能出現的問題,無效輸入會發生什么,哪些情況會導致失敗,這將有助于程序員在發生錯誤之前捕獲更多錯誤。

12、簡單的邏輯易進行單元測試,將邏輯分解為單獨的函數,而不是將邏輯混合為有狀態和有副作用填充代碼。(測試的開銷越少意味著測試更快)。

13、使用對象可能比使用復雜的數據結構更好。使用Python的內置類型及其方法將比編寫自己的類型更快(除非您在C中編寫)。如果考慮性能,請嘗試了解如何使用標準內置類型而不是自定義對象。

14、依賴注入是一個有用的編碼模式,用于程序員搞清楚依賴關系以及它們來自哪里(有對象,方法等作為參數接收它們的依賴關系,而不是實例化新對象本身)。關于依賴注入的文章可參考Martin Fowler的“Inversion of Control Containers and the Dependency Injection Pattern”。

15、代碼越多,代碼越差。程序員的目標應該是小型的可測試單元,以及更高級的集成和功能測試,以測試單元是否正確合作。

16、設計API時應該考慮到以后可能會遇到的更改,并考慮到未來的用例——真的很重要。改變API對程序員和用戶而言都是一種痛苦,并且創建向后的不兼容性是可怕的(盡管有時不可避免)。

17、如果函數或方法超過30行代碼,請考慮將其分解。最大模塊尺寸為500行,測試文件往往比這更長。

18、不要在對象構造函數中工作,這很難測試。不要將代碼放在__init__.py中(除了用于命名空間的導入)。 __init__.py不是程序員通常期望找到代碼的地方。

19、在測試中,單個測試文件的可讀性比可維護性更重要(打破可重用的塊)。這是因為測試被單獨執行和讀取,而不是自己成為較大系統的一部分,顯然過多的重復意味著可以為了方便而創建可重復使用的組件,這不僅僅是生產問題。

20、盡可能使用重構。編程是抽象的,越接近問題域,代碼越容易理解和維護。隨著系統的發展,用例的結構需要改變和擴展。一本關于重構和測試的書是Michael Feathers的Working Effectively with Legacy Code。

21、在處理性能問題時,請務必在修復之前進行配置。如果你已經剖析并證明代碼實際上是值得的,編寫一個測試隨時對代碼進行分析,并且保留在測試套件中以防止性能回歸。(添加時間碼總是會改變代碼的性能特征,使性能成為更令人沮喪的任務之一)。

22、更小,更嚴格的單位測試在失敗時提供更有價值的信息。通常,運行超過0.1秒的測試不是單元測試。單元測試可以提供更具體的錯誤信息,關于單元測試實踐一本不錯的書是Gary Bernhardt的Fast Test, Slow Test。

23、遵循YAGNI原則:編寫我們需要的特定代碼,而不是不需要的、復雜性的通用代碼。

24、共享代碼所有權是目標。不分享或許就發現不了更好的編寫方式,比如分享出來,大家集思廣益。

25、最后,可以告訴產品經理或開發商,一味地增加功能并不是好事,確保核心功能的高效率工作就可以了。

來自:http://www.techug.com/post/25-advice-for-python-tester.html

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
好吊日精品视频| 亚洲精品888| 中文字幕乱码亚洲无线精品一区| 亚洲影院天堂中文av色| 久久久久久久欧美精品| 国产毛片久久久| 国产探花在线精品一区二区| 欧美日一区二区在线观看| 日韩欧美在线精品| 久久国内精品自在自线400部| 精品91福利视频| 国产精品嫩模av在线| 91精品国产自产精品男人的天堂| 久久精品福利| 日本少妇精品亚洲第一区| 在线看片一区| 日韩激情中文字幕| 国产精品日本一区二区三区在线 | 精品亚洲美女网站| 国产极品嫩模在线观看91精品| 在线日韩欧美| 亚洲特色特黄| 亚洲免费影院| 日本免费在线视频不卡一不卡二| 一区二区精品伦理...| аⅴ资源天堂资源库在线| 日韩免费视频| 91久久亚洲| 日本中文字幕视频一区| 久久国产欧美日韩精品| 老色鬼精品视频在线观看播放| 免播放器亚洲| 视频在线观看一区二区三区| 偷拍亚洲精品| 日本一区二区免费高清| 亚洲精品97| 国产精品蜜月aⅴ在线| 天堂а√在线最新版中文在线| 欧美日韩一区二区三区不卡视频 | 国产韩日影视精品| 久色成人在线| 欧美片网站免费| 精品丝袜久久| 亚洲精品一区二区在线看| 日本va欧美va瓶| 91综合视频| 首页国产欧美久久| 精品伊人久久久| 性欧美69xoxoxoxo| 日韩av二区在线播放| 国产成人免费| 国产精品日本欧美一区二区三区| 欧美国产美女| 国产一区日韩欧美| 日韩高清国产一区在线| 国产91欧美| aa亚洲婷婷| 国产日韩视频在线| 亚洲午夜久久久久久尤物| 日本成人一区二区| 国产精品av久久久久久麻豆网| 国产aa精品| 香蕉视频成人在线观看| 国产一区二区三区免费在线| 亚洲精品一区二区妖精| 久久这里只有精品一区二区| 欧美日韩国产在线观看网站| 国产精品一区二区三区av麻| 成人片免费看| 午夜久久av | 热久久久久久久| 国产精区一区二区| 99pao成人国产永久免费视频| 91精品一区国产高清在线gif| 欧美午夜三级| 亚洲专区视频| 视频在线不卡免费观看| 日韩三区四区| 日韩一区二区久久| 五月天av在线| 久久xxx视频| 亚洲精品婷婷| 激情五月综合网| 亚洲国产成人二区| 国产毛片久久久| 91久久久久| 日韩欧美字幕| 国产精品99精品一区二区三区∴| 欧美成人精品一级| 99热精品在线观看| se01亚洲视频 | 91成人网在线观看| 免费亚洲一区| 97se亚洲| 在线精品国产亚洲| 在线视频亚洲| 成人免费网站www网站高清| 国产精品久久久久久久久久白浆 | 国产区精品区| 美女精品网站| 亚洲精品小说| 亚洲网站视频| 欧美日韩一二| 偷拍精品精品一区二区三区| 成人精品动漫一区二区三区| 国产精品免费不| 亚洲精品系列| 蜜桃视频在线观看一区| 欧美~级网站不卡| 久久国产小视频| 亚洲伦乱视频| 天堂中文av在线资源库| 国产不卡人人| 日韩中文在线播放| 香蕉成人av| 九一国产精品| 亚洲成人精选| 狠狠爱成人网| 老牛影视一区二区三区| 爽爽淫人综合网网站| 伊人久久一区| 日韩国产精品久久久久久亚洲| 加勒比视频一区| 国产精品亚洲综合色区韩国| 91成人精品在线| 欧美日韩亚洲三区| 国产探花在线精品| 国产伦精品一区二区三区千人斩 | 国产精品夜夜夜| 91欧美极品| 国产日产精品一区二区三区四区的观看方式 | 日本不卡高清| 亚洲精品中文字幕99999| 一区二区高清| 色8久久久久| 国产日本久久| 黄色网一区二区| 国产成人精品三级高清久久91| 国产精品婷婷| 欧美大黑bbbbbbbbb在线| 日韩视频二区| 亚洲免费成人av在线| 91av一区| 国产96在线亚洲| 色88888久久久久久影院| 免费观看不卡av| 亚洲精品亚洲人成在线观看| 国产乱人伦精品一区| 麻豆久久久久久| 日本久久精品| 国产精品88久久久久久| 亚洲毛片在线免费| 麻豆久久一区二区| 久久精品国产68国产精品亚洲| 国产亚洲人成a在线v网站| 国产精品色在线网站| 国产成人在线中文字幕| 在线日韩中文| 亚洲精品一二| 捆绑调教美女网站视频一区| 国产一区国产二区国产三区 | 欧美午夜精品一区二区三区电影| 久久精品av麻豆的观看方式| 欧美激情在线精品一区二区三区| 亚洲欧美网站在线观看| 国产欧美三级| 国产伦久视频在线观看| 老牛影视一区二区三区| 欧美国产日本| 黑丝一区二区三区| 欧美黄色一区| 亚洲成av在线| 日韩成人午夜精品| 激情国产在线| 中文字幕av一区二区三区人| 免费在线亚洲欧美| 欧美大黑bbbbbbbbb在线| 欧美亚洲色图校园春色| 日韩欧美不卡| 日韩综合小视频| 98精品视频| 一区二区三区四区精品视频| 国产一区二区三区四区五区 | 国产激情久久| 91视频一区| 日欧美一区二区| 日本美女一区| 日韩av三区| 亚洲精品va| 成人在线免费观看网站| 男人的天堂亚洲一区| 国内在线观看一区二区三区| 日韩精品一二三四| 亚洲涩涩在线| 欧美精品影院| 国产亚洲在线| 伊人久久在线| 91成人精品在线| 亚洲欧美日韩国产综合精品二区 | 亚洲专区视频|