亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否有一個工具可以刪除Python中未使用的功能?

是否有一個工具可以刪除Python中未使用的功能?

繁星coding 2021-03-30 08:07:38
我有以下情況:我正在使用我編寫的庫模塊的多個項目中工作。庫模塊包含幾個類和函數。在每個項目中,都使用了庫代碼的某些子集。但是,當我為其他用戶發布項目時,我只希望放棄該項目使用的代碼,而不是整個模塊。這意味著對于一個給定的項目,我想從庫代碼中刪除未使用的庫函數(即創建一個新的精簡庫)。有沒有可以自動執行此操作的工具?編輯一些澄清/答復:關于“您通常不應這樣做”的答復:最重要的是,實際上,在發布項目之前,我會手動瀏覽庫模塊并刪除未使用的代碼。因為我們都是程序員,所以我們知道當您可以輕松地向計算機解釋如何做時,沒有理由手動做某事。因此,實際上,編寫這樣的程序是可能的,甚至應該不太困難(是的,它可能不是超級通用的)。我的問題是,在我開始自己考慮實施該工具之前,是否有人知道這種工具是否存在。此外,歡迎對此實施有任何想法。我不想簡單地隱藏所有代碼。如果我想這樣做,我可能不會使用Python。實際上,我只想發布源代碼,但是只發布與所討論項目相關的代碼。關于“您受到法律保護”評論:在我的特定情況下,法律/許可保護對我沒有幫助。同樣,這里的問題比一些竊取代碼更普遍。例如,可能是為了清楚起見:如果某人需要使用/開發代碼,則不希望包含數十個不相關的功能。
查看完整描述

4 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

我同意@zmo-避免將來發生此類問題的一種方法是提前計劃并使您的代碼盡可能模塊化。我建議將類和函數放在小得多的文件中。這意味著對于您創建的每個項目,您都必須手動選擇要包含的這些較小文件中的哪個。我不確定現在就您的項目規模是否可行。但是對于將來的項目,您可以考慮采用這種做法。


查看完整回答
反對 回復 2021-04-01
?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

如果您的目的是不泄露代碼,則只需分發python編譯的庫,而不是其源代碼即可。無需手動除草代碼調用,只需分發pyc文件的版本即可。如果您擔心別人會接受您的代碼而不給您信譽,那么如果有其他選擇,也不要給他們代碼。

也就是說,我們擁有許可證是有原因的。您將最小的標頭和屬性放在每個文件的頂部,并隨軟件一起分發LICENSE文件,該文件清楚地表明允許或禁止與源代碼進行合作的人員。如果他們違反了該規定,而您抓住了它們,那么您現在擁有法律追索權。如果您不信任別人來堅持該許可證:那是它存在的全部原因。如果您的代碼是如此獨特,以至于由于擔心其他人將其作為自己的代碼進行假冒而需要獲得許可,那么將很容易發現違規行為。但是,如果您像這樣對待所有代碼,請進行小小的現實檢查:您不是很好。您寫的幾乎沒有什么東西會足夠原始,以至于其他人還沒有寫過,試圖堅持下去不會使您或其他任何人受益。

最好的代碼保護?將其在線粘貼,每個人都可以看到,以便您可以將其他所有人都指向它,然后去“看看?這就是我的代碼。這個混蛋正在自己的產品中使用它,而沒有給我信譽”。更糟糕的代碼保護,但仍然是保護:不要分發代碼,分發已編譯的庫。(最糟糕的代碼保護:分發綁定代碼,因為您出于錯誤的原因而擔心世界)


查看完整回答
反對 回復 2021-04-01
  • 4 回答
  • 0 關注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號