日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
五年P(guān)ython三大秘訣!日常生活不可或缺的秘密武器

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供藤縣網(wǎng)站建設(shè)、藤縣做網(wǎng)站、藤縣網(wǎng)站設(shè)計、藤縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、藤縣企業(yè)網(wǎng)站模板建站服務(wù),十載藤縣做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

大浪淘沙沉者為金。筆者編寫Python代碼已經(jīng)5年多了,經(jīng)歷這么久,工具集沒有變大,反而越來越小。工具不在多,好用就行。這三種方法筆者已經(jīng)堅持使用了很長時間,和其他方法不同的是,使用它們的頻率只增不減。你值得擁有!

一、秘密武器#1:快速編碼,少用Kite谷歌

大多數(shù)代碼編輯器都具有類似這樣的自動填充功能,...使用某種語言(庫)文檔來表明函數(shù)名和參數(shù):

這不難,但如果編輯器可以瀏覽幾年的GitHub數(shù)據(jù),并且不僅僅能自動填充函數(shù)名稱,還能完成整行代碼呢?這僅是第一個使用Kite的理由。

原因 1:代碼行填充

Kite訪問代碼庫和各個變量、常用的在線參數(shù)名稱以及文檔后,會輸出優(yōu)質(zhì)的語境建議:

圖源:Kite docs

上圖示例展示了Kite如何能預(yù)測編碼者需要使用的變量,即使它們一般被命名為(如b),或更普遍的名字(如x或y)。

Kite創(chuàng)始人兼首席執(zhí)行官Adam Smith說:“我們在Github 上已經(jīng)用了50多年的時間來對所有代碼進(jìn)行語義索引,構(gòu)建統(tǒng)計類型推理,以及深度使用此語義信息的豐富統(tǒng)計模型?!?/p>

原因 2:在本地私密運行

最重要的是,它在本地運行,因此可以快速獲得提示,離線也能工作,并且代碼不會發(fā)送到云端。

對于網(wǎng)絡(luò)情況異常和在閉信源代碼庫工作的人來說,這一點非常重要。

原因 3:文檔編程助手

如果你從來沒聽過"RTFM"這個詞,那可能因為沒有在第一代開發(fā)者身邊工作過。

向高級開發(fā)人員討教是很有必要的,甚至去StackOverflow查找答案之前閱讀文檔。Kite Copilot讓文檔變得十分簡單,其與編輯器同時運行,實時顯示文檔中光標(biāo)掠過的任何對象/函數(shù)等。

結(jié)果

筆者使用Kite多年,它改進(jìn)得也越來越好。其擁有超過1,700萬美元的投資,不會輕易倒閉,而且它的工具是完全免費的。你只需要給編輯器下載Kite插件,或下載copilot(編碼助手),就能安裝插件。

二、秘密武器#2:用Mypy檢查代碼?

編碼Python 是動態(tài)的,簡單解釋就是:編碼者可以隨時將任何變量變?yōu)槿魏螖?shù)據(jù)類型(字符串、整數(shù)等)。

 
 
 
 
  1. # These two variable types aredeclared the exact same way
  2. # Python figures out the data type on it's own, dynamically# string
  3. var_name = "string here"# integer
  4. var_name = 1234

相對的是靜態(tài)類型的語言,其中它的變量必須有一個特定的數(shù)據(jù)類型,并且始終遵循它。

 
 
 
 
  1. # Many languages require the datatype to be declared too# string
  2. str var_name = "string here"# integer
  3. int var_name = 1234

1. 動態(tài)編碼的優(yōu)點/缺點

動態(tài)編碼的優(yōu)點是,你可以偷懶,并且能減少亂碼。但它缺點很多且不小:

  • 通常在開發(fā)周期后期會出現(xiàn)錯誤
  • 由于Python不斷計算類型,編碼效果會降低
  • 傳遞代碼更不穩(wěn)定,因為其他人可能不知道其中的變量是哪些或可能成為哪些數(shù)據(jù)類型
  • 函數(shù)會更不穩(wěn)定,因為它們的輸入和輸出可以在沒有警告的情況下更改數(shù)據(jù)類型

2. Python 中的靜態(tài)鍵入

打開Mypy,這是一個免費的Python模塊,讓你能在Python 內(nèi)部靜態(tài)編碼。發(fā)出pip install mypy指令后, 下面就是其使用示例:

 
 
 
 
  1. # Declaring a function using normaldynamic typing, without mypy
  2. def iter_primes():
  3.     # code here# Declaring the samefunction with mypy static typing
  4. from typing import Iteratordef iter_primes() -> Iterator[int]:
  5.     # code here

利用mypy 示例,能指定函數(shù)返還整數(shù)的迭代器。這種簡單變化通過強制實施一致輸出,使函數(shù)更具有預(yù)測性。

與僅使用文檔不同,其他開發(fā)人員只需查看輸出的將是什么數(shù)據(jù)類型,如果不符合該定義,則代碼出錯。

3. 結(jié)果

列出靜態(tài)類型以幫你減輕將來痛苦的所有方法有難度,但mypy文檔具有出色的解答常見問題的能力,優(yōu)缺點都不少。

如果你在一個把穩(wěn)定性放在第一位的代碼生產(chǎn)庫工作,一定要試試myby。

三、秘密武器#3:用Sonarlint快速查找錯誤,編寫更簡單的函數(shù)

現(xiàn)在每個編輯器都有某種類型的錯誤檢查或內(nèi)置的"linter",可以用來查看代碼,通常無需運行,并能預(yù)測可能存在的錯誤。這就是靜態(tài)代碼分析。

VS代碼中的默認(rèn) Python Linter

動態(tài)代碼分析實際上嘗試運行/編譯代碼的某些部分,以查看其是否正常工作,但它會自動在后臺運行。它不是猜測,它事實上知道代碼是否會出錯,以及確切的錯誤是什么。

SonarLint是動態(tài)代碼分析中最好的,有超多優(yōu)點:

1. 已注釋或未命名的代碼

對于代碼庫里滿滿的輸出定義、已注釋代碼,以及未使用的函數(shù),筆者十分愧疚。但正是如此,才會時刻警醒,留下深刻印象,方便查找。

2. 不執(zhí)行命令代碼

與未命名的代碼略有不同,不執(zhí)行命令代碼將會在編碼者創(chuàng)建不可能評估時發(fā)出預(yù)警。這十分有必要,否則會導(dǎo)致進(jìn)行幾個小時的調(diào)試,這是筆者最喜歡的預(yù)警之一。

示例:

 
 
 
 
  1. a = Noneif a == None or not a or a:
  2.     this_will_always_get_called()
  3. else:
  4.     # sonarlint will warn you about thisline never being executed
  5.     this_will_never_get_called()

3. 安全風(fēng)險

代碼庫中的巨大數(shù)據(jù)庫將不斷實時更新安全風(fēng)險,能警告使用者所面臨的任何已知漏洞風(fēng)險。

安全風(fēng)險問題是小概率事件,基本不可能給我們留下印象。因此,每個人都應(yīng)該行動起來持續(xù)追蹤。SonarLint是一個偉大的開端。

圖源:unsplash

4. 認(rèn)知復(fù)雜

這個話題十分有趣,筆者可以針對它寫一篇完整的文章。

簡單解釋就是,有人創(chuàng)建了一個數(shù)學(xué)公式,這個公式可以對代碼的閱讀/理解難易程度進(jìn)行評分。

它非常有用,還易于理解。每次SonarLint要求編碼者"降低認(rèn)知復(fù)雜性"時,它都會對編碼者的不規(guī)范操作簡單解釋,比如"無法定義,嵌套異常"。

5. 結(jié)果

筆者發(fā)現(xiàn)這比基礎(chǔ)屏蔽和lint練習(xí)更有用,編碼者也能編寫更為人性化的代碼。這就是Pythonic!!

心動不如行動,趕快用起來吧!


網(wǎng)頁標(biāo)題:五年P(guān)ython三大秘訣!日常生活不可或缺的秘密武器
分享鏈接:http://m.5511xx.com/article/coisdeg.html