精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python開發指南:最佳實踐精選

開發 后端
請注意,測試用例的類名稱和測試方法的名稱放在一起,就像是“測試一名用戶能否發布博文”。

總體原則

價值

  • “為別人開發你也想要使用的工具。” ——Kenneth Reitz

  • "簡潔總是勝過可用。" ——Pieter Hintjens

  • "滿足90%的使用場景。忽略那些說不的人。" ——Kenneth Reitz

  • "優美勝過丑陋。" ——PEP 20

  • 為開源(甚至是閉源項目)而開發。

  • [[155871]]

一般開發準則

  • “明確勝過含蓄。” —— PEP 20

  • “易讀亦有價。” —— PEP 20

  • “人人都能打補丁。” —— 可汗學院開發文檔

  • 一旦發現破窗(設計錯誤,決策失誤或編碼質量低),馬上修補。

  • “現在做也要勝過不去做。” —— PEP 20

  • "測試要徹底。撰寫新功能文檔。"

  • 人力驅動型開發,比測試驅動型開發更重要。(譯者:原文為Even more important that Test-Driven Development--Human-Driven Development,譯者認為more important that應該是more important than,應該是作者筆誤,否則意思不通,)

  • 這些準則可能——應該是很可能——會改變。

特殊準則

風格

感覺合理的話,就遵循PEP 8。

命名

  • 變量、函數、方法、包、模塊

  • 小寫,并使用下劃線分隔單詞(lower_case_with_underscores)

  • 類、異常

  • 首字母大寫(CapWords)

  • 受保護的方法和內部函數

  • 單下劃線開頭(_single_leading_underscore(self, ...))

  • 私有的方法

  • 雙下劃線開頭(__double_leading_underscore(self, ...))

  • 常量

  • 字母全部大寫,單詞間用下劃線分隔(ALL_CAPS_WITH_UNDERSCORES)

一般命名準則

盡量不要使用只有一個字母的變量名(例如,l,I,O等)。

例外:在很簡短的代碼塊中,如果變量名的意思可以從上下文明顯地看出來,即可。

沒問題

for e in elements:
    e.mutate()

避免重復變量名。

正確的做法

import audio

core = audio.Core()
controller = audio.Controller()

錯誤的做法

import audio

core = audio.AudioCore()
controller = audio.AudioController()

“反向標記”更好。

正確的做法

elements = ...
elements_active = ...
elements_defunct = ...

錯誤的做法

elements = ...
active_elements = ...
defunct_elements ...

避免使用getter和setter方法。

正確的做法

person.age = 42

錯誤的做法

person.set_age(42)

縮進

用4個空格符——永遠別用Tab制表符。就說這么多。

模塊引用

引用整個模塊,而不是模塊中的單個標識符。舉個例子,假設一個cantee模塊下面,有一個sessions.py文件,

正確的做法

import canteen
import canteen.sessions
from canteen import sessions

錯誤的做法

from canteen import get_user  # Symbol from canteen/__init__.py
from canteen.sessions import get_session  # Symbol from canteen/sessions.py

例外:如果第三方代碼的文檔中明確說明要單個引用,即可。

理由:避免循環引用。看這里

把代碼引用部分放在文件的頂部,按下面的順序分成三個部分,每個部分之間空一行。 1. 系統引用 2. 第三方引用 3. 本地引用

理由:明確顯示每個模塊的引用來源。

文檔

遵循PEP 257提出的文檔字符串準則。reStructuredText (reST) 和Sphinx有助于確保文檔符合標準。

對于功能明顯的函數,撰寫一行文檔字符串。

"""返回``foo``的路徑名."""

多行文檔字符串應包括:

  • 一行摘要

  • 合適的話,請描述使用場景

  • 參數

  • 返回數據類型和語義信息,除非返回None

    """訓練一個用來區分Foo和Bar的模型。

    用法::

    >>> import klassify
    >>> data = [("green", "foo"), ("orange", "bar")] >>> classifier = klassify.train(data)

    :param train_data: (color, label)形式的一個元祖列表。

    :rtype: A :class:Classifier <Classifier>

    """

注意

使用主動詞(“返回”),而不是描述性的單詞(“返回值”)。 在類的文檔字符串中為__init__方法撰寫文檔。

class Person(object):
    """A simple representation of a human being. :param name: A string, the person's name. :param age: An int, the person's age. """ def __init__(self, name, age): self.name = name self.age = age

關于注釋

盡量少用。與其寫很多注釋,不如提高代碼可讀性。通常情況下,短小的方法比注釋更有效。

錯誤的做法

# If the sign is a stop sign
if sign.color == 'red' and sign.sides == 8:
    stop()

正確的做法

def is_stop_sign(sign):
    return sign.color == 'red' and sign.sides == 8

if is_stop_sign(sign):
    stop()

但是的確要寫注釋時,請牢記:“遵循斯托克與懷特所寫的《風格的要素》。” —— PEP 8

每行的長度

不要過分在意。80到100個字符都是沒問題的。

使用括號延續當前行。

wiki = (
    "The Colt Python is a .357 Magnum caliber revolver formerly manufactured "
    "by Colt's Manufacturing Company of Hartford, Connecticut. It is sometimes "
    'referred to as a "Combat Magnum". It was first introduced in 1955, the '
    "same year as Smith & Wesson's M29 .44 Magnum."
)

測試

盡量爭取測試全部代碼,但也不必執著于覆蓋率。

一般測試準則

  • 使用較長的、描述性的名稱。通常情況下,這能避免在測試方法中再寫文檔。

  • 測試之間應該是孤立的。不要與真實地數據庫或網絡進行交互。使用單獨的測試數據庫,測試完即可銷毀,或者是使用模擬對象。

  • 使用工廠模式,而不是fixture。

  • 別讓不完整的測試通過,否則你就有可能忘記。你應該加上一些占位語句,比如assert False, "TODO: finish me"

單元測試

  • 每次聚焦一個很小的功能點。

  • 運行速度要快,但是速度慢總比不測試好。

  • 通常,每一個類或模型都應該有一個測試用例類。

    import unittest
    import factories

    class PersonTest(unittest.TestCase):

        def setUp(self):
            self.person = factories.PersonFactory()

        def test_has_age_in_dog_years(self):
            self.assertEqual(self.person.dog_years, self.person.age / 7)

功能測試

功能測試是更高層次的測試,更接近最終用戶如何與應用交互這一層面。通常用在網絡應用與圖形應用測試。

  • 按照場景撰寫測試。測試用例的測試方法命名應該看上去像場景描述。

  • 在編寫代碼之前,通過注釋說明具體場景信息。

    import unittest

    class TestAUser(unittest.TestCase):

        def test_can_write_a_blog_post(self):
            # Goes to the her dashboard
            ...
            # Clicks "New Post" ... # Fills out the post form ... # Clicks "Submit" ... # Can see the new post ...

請注意,測試用例的類名稱和測試方法的名稱放在一起,就像是“測試一名用戶能否發布博文”。

本文受到下列資料的啟發...

 

責任編輯:王雪燕 來源: 編輯派
相關推薦

2012-03-30 16:54:33

JavaJProbe

2011-07-25 16:21:22

Sencha touc

2022-08-02 08:01:09

開發插件Chrome前端技術

2024-10-10 09:46:18

2012-03-26 09:27:40

谷歌安卓開發谷歌安卓

2011-06-09 18:24:36

QT Wince

2023-05-15 18:44:07

前端開發

2009-06-24 16:30:21

JSF組件模型

2023-12-06 09:00:00

2010-06-13 09:27:56

Widget開發

2019-10-31 08:00:00

機器學習人工智能AI

2015-12-16 10:30:18

前端開發指南

2011-04-18 11:00:34

使用音頻BlackBerry

2012-05-18 10:08:56

TitaniumAndroid

2021-08-09 09:47:34

Blazor 路由開發

2011-12-29 10:48:49

移動Web

2021-06-21 15:21:52

鴻蒙HarmonyOS應用開發

2023-06-05 07:49:13

?左移測試敏捷

2012-12-13 09:47:50

2020-06-12 07:00:00

Web開發項目
點贊
收藏

51CTO技術棧公眾號

精品免费av| 蜜臀av在线| 久久99国内精品| 欧美精品免费在线| 国产伦精品一区二区三区88av| 2020国产在线| 欧美国产丝袜视频| 亚洲一区二区免费在线| 日本少妇做爰全过程毛片| 成人vr资源| 精品粉嫩aⅴ一区二区三区四区| 国产女女做受ⅹxx高潮| 福利视频在线| 久久久久久久综合色一本| 亚洲a级在线播放观看| 波多野结衣视频网站| 国产精品成人a在线观看| 亚洲精品大尺度| 久久久九九九热| 一区在线影院| 欧美日韩久久久久| 欧美h视频在线观看| 免费国产在线观看| 国产精品一级在线| 国产美女久久精品| 人妻丰满熟妇av无码区| 欧美a级片一区| 日韩有码在线电影| 精品人妻无码一区| 欧美午夜寂寞| 精品国产髙清在线看国产毛片| 色www免费视频| 日韩在线影院| 天天操天天综合网| 欧美狂野激情性xxxx在线观| 黄色网址在线免费| 国产精品剧情在线亚洲| 日韩精品av一区二区三区| 无码国精品一区二区免费蜜桃| 国产一区久久久| 国产精品一区av| 少妇高潮av久久久久久| 99国产成+人+综合+亚洲欧美| 九九九久久久久久| 欧美黑吊大战白妞| 亚洲欧美伊人| 欧美精品做受xxx性少妇| www.99re6| 午夜精品久久久久久久四虎美女版| 国产亚洲欧美一区| a级片在线观看| 国产影视一区| 国产亚洲一区二区精品| 泷泽萝拉在线播放| 蜜桃国内精品久久久久软件9| 亚洲福利小视频| 一本加勒比波多野结衣| 欧美在线导航| 亚洲欧美日韩国产成人| 九色porny自拍视频| 精品freesex老太交| 国产亚洲欧洲在线| 无码人中文字幕| 天天插综合网| 九九热这里只有在线精品视| 精品无码黑人又粗又大又长| caopeng在线| 精品午夜视频| 欧美大片拔萝卜| 97精品人人妻人人| 欧美a级网站| 亚洲天堂视频在线观看| 男女男精品视频网站| 国产精品毛片一区二区在线看| 欧美成人第一页| 91看片在线播放| 日本最新不卡在线| 91在线观看免费高清| 亚洲成人一级片| 久久综合九色欧美综合狠狠| 亚洲精品国产精品久久| 老司机在线视频二区| 亚洲一区二区三区爽爽爽爽爽| 黄色www网站| 国产精品videossex撒尿| 欧美精品久久一区| 亚洲综合123| 9l视频自拍九色9l视频成人| 国产视频精品在线| 免费在线观看a级片| 99日韩精品| 国产日韩欧美成人| 好吊色视频一区二区| 久久久天堂av| 日韩欧美一级在线| 亚洲第一影院| 欧美mv日韩mv| 调教驯服丰满美艳麻麻在线视频 | 日韩精品资源| av小次郎在线| 一本色道a无线码一区v| 国产精品熟妇一区二区三区四区| 久久99视频| 欧美激情亚洲视频| 一区两区小视频| 99精品视频在线播放观看| 一区二区三区四区视频在线| 欧美aa在线观看| 制服丝袜国产精品| 91成人破解版| 91久久综合| 91深夜福利视频| 六十路在线观看| 一区二区三区成人| 99热一区二区| 精品国产一区二区三区小蝌蚪| 九九九久久国产免费| 中文字幕一区二区在线视频| 99精品在线免费| 久久久久久久久久久综合| 韩国女主播一区二区| 日韩av影视在线| 久草免费在线观看视频| 久久成人久久爱| 日本中文不卡| 欧美激情喷水| 亚洲精品福利在线| 久久久久人妻一区精品色欧美| 久久福利视频一区二区| 日韩欧美一区二区视频在线播放 | 久久久久久久影视| 亚洲午夜久久久久久久久电影院| 8x8x成人免费视频| 北条麻妃国产九九九精品小说 | 亚洲一区二区久久久| 日本a在线观看| 国产成a人无v码亚洲福利| 综合国产精品久久久| 超碰这里只有精品| 揄拍成人国产精品视频| 国产精品51麻豆cm传媒| 国产欧美一区二区三区网站| 狠狠爱免费视频| 亚洲另类春色校园小说| 热99精品里视频精品| 日本v片在线免费观看| 欧美色图在线视频| 风间由美一二三区av片| 亚洲一区日韩在线| 久久99精品久久久久久秒播放器| а√在线天堂官网| 日韩激情视频在线| 91美女免费看| 国产欧美视频一区二区三区| 国产精品天天av精麻传媒| 国产一区二区区别| 国产精品视频久久久久| av网站在线免费观看| 欧美日韩性生活| 91狠狠综合久久久| 国产精品18久久久久久vr| 国产午夜精品视频一区二区三区| gogo人体一区| 91精品国产高清自在线| 国产原创av在线| 欧美性xxxxx极品少妇| 中文字幕观看av| 国产精品一区在线观看你懂的| 成人黄色片免费| 精品久久对白| 国产成+人+综合+亚洲欧洲 | 久久久久久com| 少妇高潮久久久| 日本乱人伦aⅴ精品| 日本污视频网站| 国产麻豆一精品一av一免费| 亚洲精品蜜桃久久久久久| 亚洲瘦老头同性70tv| 国产女人18毛片水18精品| 在线免费观看污| 日韩成人小视频| 在线观看国产精品入口男同| 亚洲一区在线观看免费| 播金莲一级淫片aaaaaaa| 美女脱光内衣内裤视频久久网站| 久久久无码中文字幕久...| 日韩大尺度在线观看| 国产日韩精品在线| 国产在线精彩视频| 爽爽爽爽爽爽爽成人免费观看| 亚洲av无码乱码国产麻豆| 日韩欧美在线播放| 精品人妻伦九区久久aaa片| 波多野结衣精品在线| 91亚洲免费视频| 亚洲精品影院在线观看| 亚洲免费视频一区| 国产成人福利av| 国产精品香蕉在线观看| 99re6在线精品视频免费播放| 永久免费精品影视网站| 全国男人的天堂网| 欧美日韩成人高清| 久久精品一二区| 亚洲乱码国产乱码精品精的特点| 中文字幕在线看高清电影| 国产河南妇女毛片精品久久久| 91蝌蚪视频在线观看| 亚洲精品一二| 青青青在线观看视频| 久久五月天小说| 日本一区二区在线| 好吊妞国产欧美日韩免费观看网站| 奇米影视亚洲狠狠色| 美足av综合网| 久久躁日日躁aaaaxxxx| 啊v在线视频| 亚洲成年网站在线观看| 国产视频第一页| 欧美中文字幕久久| 亚洲男人第一av| 亚洲国产精品视频| 中文字幕五月天| 国产精品午夜久久| 中国毛片在线观看| 不卡的看片网站| 一级黄色大片免费看| 久久av老司机精品网站导航| 免费黄色一级网站| 免费在线日韩av| 精品一区二区三区无码视频| 欧美欧美天天天天操| 中文字幕一区二区中文字幕| 欧美伦理在线视频| 农村寡妇一区二区三区| 久久悠悠精品综合网| 国产精品theporn88| 91成人在线精品视频| 成人av资源网| 亚洲精品一区在线| 91精品久久久久久蜜桃| 国产专区精品| 亚洲专区在线视频| 国产精品日韩精品在线播放| 成人免费视频网址| av一级久久| 亚洲自拍偷拍第一页| 亚洲精品一区二区三区在线| 国产精品伊人日日| 国产成人aa在线观看网站站| 精品在线不卡| 久久99高清| 亚洲国产一区二区三区在线| 日韩欧美午夜| 波多野结衣激情| 综合亚洲视频| 青青草精品视频在线| 亚洲毛片一区| 久久美女福利视频| 玖玖在线精品| 97超碰成人在线| 国产黑丝在线一区二区三区| 美女扒开腿免费视频| 91色视频在线| 日本美女xxx| 亚洲欧美日韩小说| 久久久.www| 欧美日韩国产色视频| 波多野结衣不卡| 欧美日韩aaa| 亚洲国产精品一| 日韩精品视频免费| bbbbbbbbbbb在线视频| 久久天堂电影网| 9lporm自拍视频区在线| 日产日韩在线亚洲欧美| 精品国产美女a久久9999| 91精品国产综合久久久久久丝袜| 日韩欧美ww| 亚洲欧美国产一区二区| 欧美精品二区| 黑鬼大战白妞高潮喷白浆| 久久精品国产第一区二区三区| 2018国产精品| 国产日韩精品一区二区三区在线| 老妇女50岁三级| 日韩欧美国产成人| 99热这里只有精| 精品视频在线播放免| 国产高清一区二区三区视频| 国内精品中文字幕| 九九久久国产| 精品久久精品久久| 婷婷中文字幕一区| www国产精品内射老熟女| 久久se精品一区二区| 久久精品女同亚洲女同13| 国产精品丝袜91| 精品在线播放视频| 欧美精品电影在线播放| 日韩a级作爱片一二三区免费观看| 日韩有码视频在线| 欧美极品影院| 国产精品一区视频| 亚洲成av人片乱码色午夜| 国产亚洲欧美在线视频| 国产一区二区三区av电影| 六月婷婷七月丁香| 亚洲午夜久久久| 91亚洲视频在线观看| 国产视频久久久久| 女同一区二区免费aⅴ| 国产主播喷水一区二区| 欧美人与牛zoz0性行为| 黄色成人在线看| 激情综合网av| 在线观看亚洲大片短视频| 大荫蒂欧美视频另类xxxx| wwwxxxx国产| 久久久久999| 国产三级一区| 人偷久久久久久久偷女厕| 亚洲精品黄色| 国产一精品一aⅴ一免费| 亚洲欧洲www| 一区二区三区免费在线| 国产亚洲免费的视频看| 在线观看爽视频| 久久久7777| 国产欧美大片| 亚洲天堂美女视频| 香蕉加勒比综合久久| 午夜精品无码一区二区三区| 久久精品久久久久久| 欧美黄页免费| 亚洲一卡二卡| 久久99国产精品久久| 日本猛少妇色xxxxx免费网站| 色激情天天射综合网| 精品视频一二三| 日本亚洲欧美成人| 九九综合在线| 九九视频精品在线观看| 中文字幕国产一区| 中文字幕日本视频| 一区二区日韩精品| 国产成人毛片| 亚洲精品自在在线观看| 精品一区二区免费在线观看| 糖心vlog免费在线观看| 91精品国产麻豆| 欧美人与性动交α欧美精品图片| 国产aⅴ精品一区二区三区黄| 黄色国产精品| 亚洲中文字幕一区| 精品女厕一区二区三区| 瑟瑟在线观看| 国产精品久久久久久久久久久新郎| 精品国产乱码久久久久久果冻传媒 | 日本暖暖在线视频| 91精品视频在线看| 综合久久精品| 天堂www中文在线资源| 一本色道a无线码一区v| 色视频在线免费观看| 2014国产精品| 国产日韩一区二区三区在线播放 | 欧美日韩黑人| 亚洲黄色av片| 亚洲午夜在线观看视频在线| 无码国产精品高潮久久99| 国产成人精品免费久久久久| 日韩伦理视频| 久久av一区二区三| 色综合欧美在线视频区| 日本在线视频观看| 国产精品免费区二区三区观看| 美女网站久久| 国产精品白丝喷水在线观看| 精品久久五月天| 成人午夜视屏| 4444在线观看| 99久久免费视频.com| 精品乱码一区内射人妻无码| 久久国产精彩视频| 欧美成人基地| 蜜桃福利午夜精品一区| 亚洲高清一区二区三区| 福利片在线观看| 国产乱码精品一区二区三区日韩精品| 日韩精品欧美成人高清一区二区| 日韩欧美123区| 亚洲欧美国产精品专区久久| 国产情侣一区在线| 国产精品欧美激情在线观看| 亚洲欧洲韩国日本视频| 亚洲色图另类小说| 亚洲va久久久噜噜噜久久天堂| 久久福利精品| 国产精品 欧美 日韩|