自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python 語言的自動(dòng)格式化工具

開發(fā) 前端
如果你公司或者你正在使用 python 進(jìn)行項(xiàng)目的開發(fā),那么選擇一款代碼格式化工具是非常必要的,它可以讓你的開發(fā)團(tuán)隊(duì)節(jié)省大量時(shí)間。而且無論是你的個(gè)人代碼還是其他人的代碼格式看起來都是一樣的,這樣每個(gè)人閱讀其他人的代碼都會(huì)是一件幸福的事情。

每種編程語言都有自己專屬的格式化工具,比如 golang 語言的 gofmt,JavaScript 語言的 prettier,php 語言的 php-cs-fixer,和這些編程語言類似,python 也有自己的自動(dòng)化格式工具,不過不同的是,它有很多個(gè)格式化工具,接下來我們就來看看這些不同的格式化工具究竟有什么不同。

autopep8

這個(gè)是最早的 python 格式化代碼工具,它采用 pycodestyle 來分析代碼,然后對(duì)于不符合 pep 風(fēng)格的代碼進(jìn)行修復(fù)。同時(shí),它還會(huì)修復(fù)一些已經(jīng)棄用的代碼,并且規(guī)范代碼的結(jié)尾,對(duì)于一些方法和函數(shù)添加一些空行分隔符。

autopep8 是支持通過配置文件進(jìn)行格式化聲明的,它支持。cfg,.ini  .pep8 .flake8 等格式的配置文件。目前他在 github 上有 4200 多個(gè)點(diǎn)贊。

yapf

這是一個(gè)谷歌推出的格式化工具,因?yàn)橛写髲S背書,所以它發(fā)展的很快,目前在 github 上有 13000 個(gè)點(diǎn)贊。他不會(huì)檢查 pep 準(zhǔn)則,它只會(huì)格式化代碼。它采取的是類似于??clang-format??的思想,就是讀取整個(gè)文件代碼,然后格式化成最佳的格式。

它是一個(gè)可配置的代碼格式方案,不同的配置會(huì)導(dǎo)致不同的格式化結(jié)果,目前主流的配置有 pep8,google,facebook,chromium 等。此外,它還支持自定義配置方案,通過??--style??即可指定格式樣式。

x = {  'a':37,'b':42,

'c':927}

y = 'hello ''world'
z = 'hello '+'world'
a = 'hello {}'.format('world')
class foo ( object ):
def f (self ):
return 37*-+2
def g(self, x,y=42):
return y
def f ( a )
return 37+-+a[42-x : y**3]

上面雜亂無章的代碼經(jīng)過??yapf??格式化后,就會(huì)變得很規(guī)整,更加容易閱讀。

x = {'a': 37, 'b': 42, 'c': 927}

y = 'hello ' 'world'
z = 'hello ' + 'world'
a = 'hello {}'.format('world')

class foo(object):
def f(self):
return 37 * -+2

def g(self, x, y=42):
return y

def f(a):
return 37 + -+a[42 - x:y**3]

black

black 是最近幾年新推出的 python 代碼格式化工具,雖然是最新推出的,然而它卻是最受歡迎的,目前它在 github 上的點(diǎn)贊是 30000 多。

圖片

black 號(hào)稱毫不妥協(xié)的代碼格式化工具。也就是說,它默認(rèn)不許你也不需要你手動(dòng)進(jìn)行代碼格式的細(xì)節(jié)調(diào)整。

圖片

它具有非常高效的速度,并且被很多項(xiàng)目所采用。

圖片

Black 擁有全面的測(cè)試套件,具有高效的并行功能測(cè)試,

下面是使用 black 的一些組織:Facebook,Dropbox,KeepTruckin,Mozilla,Quora, Duolingo,QuantumBlack,Tesla,Archer Aviation。

你可以看到,非常多的著名公司使用它來格式化 python 代碼,只因?yàn)樗糜昧?,太方便了?/p>

總結(jié)

autopep8 幾乎已經(jīng)被放棄了,這從 github 上的點(diǎn)贊數(shù)就可以看出來,yapf 具有更加靈活的,高度定制化的格式化方案,而 black 則讓程序看起來更加統(tǒng)一和優(yōu)雅,并且可以避免復(fù)雜的配置。

圖片

如果你公司或者你正在使用 python 進(jìn)行項(xiàng)目的開發(fā),那么選擇一款代碼格式化工具是非常必要的,它可以讓你的開發(fā)團(tuán)隊(duì)節(jié)省大量時(shí)間。而且無論是你的個(gè)人代碼還是其他人的代碼格式看起來都是一樣的,這樣每個(gè)人閱讀其他人的代碼都會(huì)是一件幸福的事情。

責(zé)任編輯:武曉燕 來源: 程序那些事兒
相關(guān)推薦

2010-08-09 09:14:37

Flex代碼格式化

2010-08-10 13:28:21

Flex代碼格式化

2012-05-16 09:14:11

代碼美化代碼工具Java

2010-08-03 10:40:29

Flex代碼格式化

2018-05-25 16:23:00

Python代碼工具

2024-05-07 07:40:26

Visual工具XAML

2022-07-20 12:18:36

Python自動(dòng)化工具tox

2021-05-19 17:04:29

Python阿里自動(dòng)化工具

2024-12-19 09:55:24

2024-05-20 01:00:00

Python代碼

2010-12-06 09:56:52

數(shù)據(jù)中心網(wǎng)絡(luò)

2024-06-13 12:11:13

2010-09-06 15:17:14

Sql函數(shù)

2009-06-05 15:27:23

Eclipse工具格式化模板應(yīng)用

2021-05-08 09:00:53

AI 工具人工智能

2024-04-08 11:45:11

Pythonpyinfra編程語言

2024-01-08 22:03:22

python代碼開發(fā)

2010-05-26 16:21:25

2020-03-31 10:58:35

網(wǎng)絡(luò)自動(dòng)化SD-WAN軟件定義網(wǎng)絡(luò)

2019-12-11 11:54:37

IT工具云計(jì)算
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)