Python

為什麼教育和現實世界的使用之間存在限制?

  • January 20, 2022

這個連結看起來很實用,而且“手忙腳亂”。但是在用於節點發現和連接的 Python 程式碼範例中,它通常會警告它是出於“教育目的”而不是現實世界。

您能否解釋一下連結中顯示的實施注意事項是什麼,以及如何在現實世界中糾正它們:

突出顯示此類限制的範例:

程式碼範例

“除了例外”這一事實的限制是否幾乎排除了所有東西,這不是一個好習慣?設置安全性(比如不要無限期地遞歸呼叫)是一個解決方案嗎?

當 while 循環足夠時使用遞歸是不好的做法。遞歸程式碼更難閱讀,更難調試,編譯器更難優化,並且可能導致堆棧溢出。

此外,不應從主執行緒進行連接。

編輯:也許是因為沒有試驗限制,之後程式碼應該假設使用者離線。否則堆棧會增長,如果堆棧沒有溢出,迭代器可能會越界。

IMO 使用遞歸併不是一個壞習慣,它們可以用來做很多有趣的事情,儘管我不是評論這些事情的最佳人選。

這個執行緒中關於遞歸與 while 循環的有趣評論很少:https ://www.reddit.com/r/csharp/comments/rnoy7h/difference_between_tail_recursion_and_while_loop/

就程式碼而言,我找不到會在某些時候停止遞歸的行,因此添加if帶有某些條件的語句來終止可以使其在生產中可用。

引用自:https://bitcoin.stackexchange.com/questions/111545