若是你爲Python寫了一篇PEP,這篇PEP成功的被Python指導委員會接受了,那麼之後你在吹牛皮的時候你就能夠說我主導了Python語言某個特性的設計工做.html
-- 跬蟒
我就問你主導Python語言特性設計牛不牛皮,今天我就寫一篇文章告訴你們如何去爲Python設計一篇PEP,而且整個PEP從一個想法到Python語言去實現它的這一套流程:python
假設你已是一個Python高手了,在使用Python給過程當中你以爲Python語言在某方面還不夠完善,你有一個不錯的想法能夠去改善Python這方面的不足,你打算把你的想法加入到Python語言裏面,因此你打算寫一篇PEP,爲Python的發展獻言建策,那首先須要作什麼呢?git
python-list@python.org mailing list
或者到 python-ideas@python.org mailing list
進行進一步的肯定,看看你們對你的想法是否定同,若是你能讓大多數人都認同,那你就有戲,在你發帖以前最好準備一份高質量的PEP草稿,這樣的話纔會更容易的被接受PEP champion :
PEP擁護者
也就是PEP的發起人,也就是跟你們說我有個很是XXX的想法的人github
PEP author:
PEP做者
就是寫PEP的人,PEP從一個想法到一篇PEP草稿,再到一篇擁有官方PEP編號的PEP文檔,到後面PEP審覈經過,PEP複審出現改動,PEP被接受這個過程當中維護PEP文檔的人就是PEP的做者,大部分PEP做者就是PEP擁護者本人微信
PEP reviewer: 這個角色不是單指某一我的,一個PEP從想法到實現須要通過不少此review, 每一次參與review的人均可以被稱做 PEP revieweride
PEP editor:
PEP編輯者
就是對PEP進行初步審覈的人,審覈經過的PEP進入到github上面的PEP倉庫的master分支,進行下一輪的評審this
Python Core Developers:
Python核心開發人員
就是開發Cpython解釋器的那羣人,都是大佬,都是大佬編碼
Python's Steering Council:
Python指導委員會
大佬中的大佬,從Python核心開發人員
中選擇出來的指導Python語言開發工做的一羣人,對於PEP是否接受有着最終發言權idea
PEP的工做流程是這樣的:設計
固然凡事都有例外,有些Python的核心開發者是不會走這個流程的由於他們自己的權限比較大,他們有直接push內容到PEP倉庫的權限,因此有時候他們會直接給本身的PEP分配一個PEP編號push進入PEP倉庫的master分支,固然這並不意味着這個PEP就被接受了,他只是繞過了PEP editor的審批而已,PEP被接受和PEP經過審批是徹底兩碼事兒,只有經過Python指導委員會的贊成,PEP計劃實現,才能叫作PEP被接受.
PEP被拒絕是很正常的事情,不要灰心,只要可以堅信本身的PEP是真正對Python有用的東西,真正好的idear,修改一下繼續上就好了,可是被拒確定是有緣由的,最主要的緣由就是下面幾條:
一篇PEP是否最終被接受而且決定去實現是須要通過層層複審的,反正要通過很麻煩了一個流程,下面有個Python官方畫的簡單流程圖:
可是實際狀況比較複雜,有時候不會按照這個流程圖來,可是這個流程圖給人們提供了一個比較清晰的PEP工做流的概覽
這年頭寫啥文檔沒個模板真不行,PEP也是文檔,因此模板搞起來:
PEP 12--Sample reStructuredText PEP Template
,沒錯PEP12是介紹rst格式PEP模板的PEP(有點繞),爲何要用rst格式?官方給出的解釋是 容易轉成html進行在線發佈和閱讀寫道這裏就講的差很少了,可是其實PEP的書寫還有不少的內容好比:
- 如何判斷PEP是否是一個成功的PEP
- PEP提交以後發現內容有bug怎麼解決
- PEP全部權以及全部權轉移問題
- PEP editor的詳細職責和工做流
- 等等問題,我就不寫了,寫不動了.....
想寫PEP的能夠先根據上面流程走一波,
而後等到遇到問題的時候再去查資料吧.
若是感受本篇內容還不錯,微信的朋友請點個在看,其餘平臺的朋友能夠(近距離)掃描下方的二維碼關注個人公衆號 早睡蟒
更多優質原創無廣告內容等你來看.