成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

3種適用于Python的瘋狂秘密武器

開發 后端
我編寫Python已有5年以上了,我的工具集通常變得越來越小,而不是越來越大。 許多工具不是必需的或無用的,而其中的一些只是簡單地增加了。

 我不知道沒有他們我該如何生活

我編寫Python已有5年以上了,我的工具集通常變得越來越小,而不是越來越大。 許多工具不是必需的或無用的,而其中的一些只是簡單地增加了。

這是我堅持了很長時間的三個,與其他人不同,我只是越來越多地使用它們。

 

[[324297]]

秘密武器#1:使用Kite可以更快地編寫代碼,減少Google編寫時間

大多數代碼編輯器具有自動完成功能,看起來像這樣:

 

3種適用于Python的瘋狂秘密武器

 

…使用語言(有時是庫)文檔來建議函數名稱和參數之類的內容。

當然可以,但是如果您的編輯器可以瀏覽GitHub數據多年并自動完成,不僅是函數名,還可以是整行代碼。

這只是使用Kite的三個理由中的第一個。

原因1:代碼行完成

風箏會檢查您的代碼庫和變量,在線使用的常用參數名稱,文檔,然后提出如下超級上下文建議:

 

3種適用于Python的瘋狂秘密武器

上面的示例展示了Kite如何預測您將在通用名稱(如b)或通用名稱(如x或y)中使用的變量。

…我們已經花費了大約50年的工程師工作時間,在Github上對所有代碼進行語義索引,建立統計類型推斷,以及豐富的統計模型,這些模型可以非常深入地使用此語義信息。 — Kite創始人/首席執行官Adam Smith

這是一個實時演示視頻,或者,如果您愿意,可以在沙盒中播放。

原因2:副駕駛進行文檔編制

 

3種適用于Python的瘋狂秘密武器

 

如果您從未聽說過" RTFM",那么您可能還沒有犯過我的錯誤。

無論如何,在給高級開發人員打電話或什至查看Stack Overflow答案之前,都應始終閱讀文檔。

Kite Copilot使文檔愚蠢容易。 它與您的編輯器一起運行,并實時顯示您用光標突出顯示的任何對象/功能/等的文檔。

親愛的高級開發人員,我的第一份工作:對不起。 現在,我真的沒有借口不首先在文檔中尋找答案。

原因3:在本地私人運行

它是在本地運行的所有基礎之上,因此您可以獲得令人難以置信的快速建議,它可以脫機工作,并且您的代碼永遠不會發送到云中。

對于互聯網連接較差的人和在封閉源代碼庫中工作的人們來說,這是非常重要的。

結果

我使用風箏已有多年了,而且一直在不斷進步。 憑借超過1700萬美元的投資,這家公司無處不在,而且由于某些愚蠢的原因,該工具是完全免費的。

您所要做的就是為您的編輯器下載Kite插件,或者下載副駕駛,它可以為您安裝插件。 去實現它(夢想);去得到它(東西!

秘密武器2:使用Mypy穩定您的代碼

Python是動態類型的,一個過分簡化的解釋是您可以隨時將任何變量設為任何數據類型(字符串,整數等)。

 

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

相反的是靜態類型化的語言,其中變量必須具有一種特定的數據類型,并且必須始終遵循該數據類型。

 

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

動態類型的優點/缺點

動態鍵入的優點是您在編寫時可以很懶惰,并且可以減少代碼混亂。

缺點很多,但也很大:

  • 在開發周期的后期,您通常會遇到錯誤
  • 由于Python不斷找出類型,因此代碼的執行效果更差
  • 函數不穩定,因為其輸入和輸出可以更改數據類型而不會發出警告
  • 交出代碼會更加不穩定,因為其他人可能不知道您的變量是或可能成為哪種數據類型

Python中的靜態類型

輸入Mypy。 一個免費的Python模塊,可讓您在Python內部使用靜態類型。

點安裝mypy之后,下面僅是一個使用示例:

 

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

在mypy示例中,我們指定該函數返回一個整數迭代器。 通過執行一致的輸出,此簡單的更改使該功能更適應未來的需求。

其他開發人員只需查看聲明即可查看輸出將是哪種數據類型,并且與僅使用文檔不同,如果不遵守該聲明,您的代碼將出錯。

這是一個非常簡單的示例,摘自此處的示例,如果仍然沒有意義,請檢查一下它們。

結果

很難列出靜態鍵入可以減輕您將來痛苦的所有方式,但是mypy文檔具有很好的常見問題解答,但有更多的利弊。

如果您在穩定至關重要的生產代碼庫中工作,請絕對嘗試一下mypy。

秘密武器#3:使用Sonarlint更快地發現錯誤并編寫更簡單的函數

如今,每個編輯器都有某種類型的錯誤檢查或內置的" lint"。 它通常在不運行代碼的情況下查看代碼,并嘗試猜測可能出了什么問題。 這稱為靜態代碼分析。

 

3種適用于Python的瘋狂秘密武器

動態代碼分析實際上會嘗試運行/編譯部分代碼以查看其是否正常運行,但會在后臺自動執行。 實際上,它無需猜測,而是知道它是否可以工作以及確切的錯誤是什么。

SonarLint處于最佳狀態,是動態代碼分析領域的佼佼者。 這些功能是我喜歡它的原因:

注釋或未調用的代碼

我對在整個代碼庫中留下打印語句,注釋掉的代碼以及未使用的函數感到內gui。 這將警告我,使其難以忘記,并告訴我它在哪里,易于查找。

安全風險

實時將龐大的,不斷更新的安全風險數據庫扔到您的代碼庫中,警告您可能面臨的任何已知漏洞。

安全風險非常小眾,無法記住,因此每個人都應該使用某種方法來跟蹤這些風險。 SonarLint是一個不錯的起點。

永遠不會執行的代碼

與未調用的代碼略有不同,如果我創建的評估結果無法達到,這將警告我。 這些問題很難發現,可能會導致數小時的調試,因此這是我最喜歡的警告之一。

這是一個例子:

 

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

認知復雜性

我可以寫一個完整的帖子,這是一個非常有趣的話題,實際上,上面有一個完整的白皮書。

簡單的解釋是,他們創建了一個數學公式,可以對代碼的閱讀/理解難度進行評分。

它不僅非常有用,而且易于遵循。 每當SonarLint要求我"降低認知復雜性"時,它都會附帶一個關于我違反的規則的簡單說明,例如"太多嵌套的if語句"。

結果

我發現這比基本的阻止和掉毛實踐有用,而且我相信這使我編寫了對人類友好的代碼。 順便說一句,這是Pythonic!

SonarLint是免費的,因此沒有理由不立即獲取它并將其附加到您的編輯器中。

結論

如果您在此處跳過,則只是一個快速警告,除非您對這些功能有基本的了解,否則可能無法正確使用它們。

以下是這三種秘密武器的概述:

  • 使用Kite Copilot和編輯器插件更快地編寫Google內容
  • 使用Mypy Python模塊穩定代碼
  • 使用SonarLint編輯器插件更快地發現錯誤并編寫更簡單的函數

希望這些工具對您有好處,我本人也非常喜歡它們。 我敢肯定,盡管我錯過了其他一些不可思議的資源,所以請務必分享您在評論中沒有的生活。

責任編輯:華軒 來源: 今日頭條
相關推薦

2013-10-16 09:28:14

亞馬遜AWSSDN

2013-10-16 09:33:36

亞馬遜AWSSDN

2011-08-11 17:05:26

2014-01-07 10:46:39

2024-07-11 08:34:48

2025-06-12 08:00:00

Pythondataclass代碼

2025-05-27 10:00:00

Python數據類代碼

2022-02-11 10:47:17

CIOIT團隊企業

2009-07-28 10:36:58

云計算Google秘密武器

2019-11-27 10:38:37

數據分析數據準備工具

2025-05-14 00:01:10

RxJS異步編程響應式

2023-05-08 14:54:00

AI任務HuggingGPT

2019-11-27 10:40:34

數據工具CIO

2024-08-19 09:22:48

2010-09-17 17:51:04

2011-06-02 10:24:11

iTravel蘋果

2023-02-24 10:26:34

語音AI人工智能

2015-06-08 09:50:07

Android M谷歌

2015-03-30 16:58:05

秘密武器華為

2019-02-27 09:44:01

CIO秘密武器顧問
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲自拍偷拍视频 | 国产成人精品久久二区二区91 | 欧美精品一区久久 | 亚洲成人av在线播放 | 成人免费区一区二区三区 | 国产成人精品高清久久 | 午夜影视 | 中文字幕日韩欧美 | 日本不卡在线观看 | 91操操操 | 精品国产91亚洲一区二区三区www | 中午字幕在线观看 | 国产精品视频综合 | 日本一区二区不卡 | 欧美日韩国产一区二区三区 | 热re99久久精品国99热观看 | 日本久久视频 | 欧美一区两区 | 亚洲综合大片69999 | 色婷婷影院 | 国产一级免费在线观看 | 天天舔天天 | 在线不卡一区 | 一级黄色毛片 | 欧美一区二区三区 | 国产黄色在线观看 | 国产激情亚洲 | 9色视频在线 | 国产国拍亚洲精品av | 91免费在线视频 | 欧美一区二区三区国产 | 日韩日b视频 | 毛片在线看看 | 中文字幕免费 | av网站在线看| 亚洲国产日韩欧美 | 欧美日韩国产精品一区 | 偷拍自拍在线观看 | 色综合视频| 欧美美女爱爱视频 | 99精品视频一区二区三区 |