<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python最簡(jiǎn)編碼規(guī)范

          共 2157字,需瀏覽 5分鐘

           ·

          2022-05-10 22:45

          點(diǎn)擊關(guān)注上方“SQL數(shù)據(jù)庫(kù)開發(fā)”,

          設(shè)為“置頂或星標(biāo)”,第一時(shí)間送達(dá)干貨

          0、前言

          本文是閱讀《Python Coding Rule》之后總結(jié)的最為精華及簡(jiǎn)單的編碼規(guī)范,根據(jù)每個(gè)人不同喜好有些地方會(huì)有不同的選擇,我只是做了對(duì)自己來(lái)說(shuō)最簡(jiǎn)單易行的選擇,僅供大家參考。

          1、重要原則

          a.保持風(fēng)格的一致性很重要,但最重要的是:知道何時(shí)不一致
          b.打破一條既定規(guī)則的兩個(gè)好理由:
          c.當(dāng)應(yīng)用規(guī)則會(huì)導(dǎo)致代碼可讀性下降(可讀性賽高)
          d.為了和周圍代碼保持一致而打破規(guī)則(歷史遺留)

          2、最簡(jiǎn)規(guī)范

          a.只使用空格縮進(jìn)
          b.使用UTF-8編碼
          c.每行只寫一條語(yǔ)句
          d.使用行末反斜杠折疊長(zhǎng)行,限制每行最大79字符
          e.導(dǎo)入包:每行唯一、從大到小、絕對(duì)路徑
          f.類內(nèi)方法空1行分隔,類外空2行分隔
          g.運(yùn)算符除 * 外,兩邊空1格分隔,函數(shù)參數(shù)=周圍不用空格
          h.除類名使用駝峰法以外,其他模塊、函數(shù)、方法、變量均使用全小寫+下劃線
          i.1個(gè)前導(dǎo)下劃線表示半公開,2個(gè)前導(dǎo)下劃線表示私有,與保留字區(qū)分使用單個(gè)后置下劃線
          j.開發(fā)時(shí)使用中文注釋,發(fā)布時(shí)再寫英文文檔

          3、詳細(xì)規(guī)范

          a.全文通用
          b.只使用空格縮進(jìn),4個(gè)空格表示1個(gè)縮進(jìn)層次
          c.每行長(zhǎng)度限制在79字符內(nèi),使用行末反斜杠折疊長(zhǎng)行
          d.使用UTF-8編碼
          e.每行只寫一條語(yǔ)句

          4、代碼命名

          一行只import一個(gè)包,Imports的順序?yàn)椋簶?biāo)準(zhǔn)庫(kù)、相關(guān)主包、特定應(yīng)用,每組導(dǎo)入之間放置1行空行,所有導(dǎo)入使用包的絕對(duì)路徑。

          分割頂層函數(shù)和類的定義使用2行空行,分割類內(nèi)方法定義使用1行空行,class行與第一個(gè)方法定義之間要有1行空行。

          整體使用英文書寫方式來(lái)使用空格,即僅在逗號(hào)、分號(hào)后面添加1個(gè)空格,其他任何符號(hào)如圓括號(hào)、方括號(hào)、花括號(hào)等都不用空格把符號(hào)與字符分開,寫在一起表示一個(gè)整體;運(yùn)算符除 * 號(hào)以外,其他符號(hào)兩邊都各用1個(gè)空格分隔;函數(shù)參數(shù)=號(hào)周圍不用空格。

          模塊名:不含下劃線、簡(jiǎn)短、全小寫;

          類名、異常名:首字母大寫單詞串的駝峰法;

          函數(shù)名、全局變量名、方法名、實(shí)例變量:全小寫,加下劃線增加可讀性;

          一個(gè)前導(dǎo)下劃線僅用于不想被導(dǎo)入的全局變量(還有內(nèi)部函數(shù)和類)前加一個(gè)下劃線)、不打算作為類的公共接口的內(nèi)部方法和實(shí)例變量;

          兩個(gè)前導(dǎo)下劃線以表示類私有的名字,只用來(lái)避免與類(為可以子類化所設(shè)計(jì))中的屬性發(fā)生名字沖突。

          私有屬性必須有兩個(gè)前導(dǎo)下劃線,無(wú)后置下劃線;

          非公有屬性必須有一個(gè)前導(dǎo)下劃線,無(wú)后置下劃線。

          公共屬性沒(méi)有前導(dǎo)和后置下劃線,除非它們與保留字沖突,此情況下,單個(gè)后置下劃線比前置或混亂的拼寫要好,例如:class_優(yōu)于klass。

          5、編寫技巧

          與None之類的單值比較,永遠(yuǎn)用:'is'或'is not'來(lái)做:if x is not None

          在模塊和包內(nèi)定義基異常類(base exception class)

          使用字符串方法(methods)代替字符串模塊。

          在檢查前綴或后綴時(shí)避免對(duì)字符串進(jìn)行切片,用startswith()和endswith()代替,如:No: if foo[:3] == 'bar':Yes: if foo.startswith('bar'):

          只用isinstance()進(jìn)行對(duì)象類型的比較,如:No: if type(obj) is type(1):Yes: if isinstance(obj, int)

          判斷True或False不要用 ==,如:No: if greeting == True:Yes: if greeting:

          6、注釋

          開發(fā)時(shí),注釋全部用中文來(lái)寫,當(dāng)要發(fā)布腳本工具時(shí),再寫英文文檔。

          注釋應(yīng)該是是完整的句子(短語(yǔ)也可),首字母大寫;如果注釋很短,省略末尾句號(hào);注釋塊由一個(gè)or多個(gè)完整句子構(gòu)成的段落組成,則每個(gè)句子使用句子結(jié)尾;句末句號(hào)后使用兩個(gè)空格。

          注釋塊每行以#和一個(gè)空格開始,并且跟隨注釋的代碼具有相同的縮進(jìn)層次,注釋塊上下方有一空行包圍。

          謹(jǐn)慎使用行內(nèi)注釋,至少使用兩個(gè)空格與語(yǔ)句分開。

          使用 pydoc; epydoc; Doxgen 等文檔化工具,為所有公共模塊、函數(shù)、類和方法邊寫文檔字符串,文檔字符串對(duì)非公開的方法不是必要的,但你應(yīng)該有一個(gè)描述這個(gè)方法做什么的注釋,這個(gè)注釋應(yīng)該在"def"這行后。

          多行文檔字符串結(jié)尾的""" 應(yīng)該單獨(dú)成行。

          版本注記:定義一個(gè)變量__version__ = "$Revision: 1.4 $"

          Stay hungry. Stay foolish.

          文章鏈接:https://www.cnblogs.com/Chayeen/p/8884776.html


          最后給大家分享我寫的SQL兩件套:《SQL基礎(chǔ)知識(shí)第二版》《SQL高級(jí)知識(shí)第二版》的PDF電子版。里面有各個(gè)語(yǔ)法的解釋、大量的實(shí)例講解和批注等等,非常通俗易懂,方便大家跟著一起來(lái)實(shí)操。

          有需要的讀者可以下載學(xué)習(xí),在下面的公眾號(hào)「數(shù)據(jù)前線」(非本號(hào))后臺(tái)回復(fù)關(guān)鍵字:SQL,就行
          數(shù)據(jù)前線
          ——End——

          后臺(tái)回復(fù)關(guān)鍵字:1024,獲取一份精心整理的技術(shù)干貨

          后臺(tái)回復(fù)關(guān)鍵字:進(jìn)群,帶你進(jìn)入高手如云的交流群。


          推薦閱讀

          瀏覽 54
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品国产三级国产AⅤ原创 | 免费黄色一区二区成人网站18禁 | 国产菊门残忍扩张视频 | 97在线精品视频 | 日日夜夜费免费精品 |