Python
為什麼教育和現實世界的使用之間存在限制?
這個連結看起來很實用,而且“手忙腳亂”。但是在用於節點發現和連接的 Python 程式碼範例中,它通常會警告它是出於“教育目的”而不是現實世界。
您能否解釋一下連結中顯示的實施注意事項是什麼,以及如何在現實世界中糾正它們:
突出顯示此類限制的範例:
“除了例外”這一事實的限制是否幾乎排除了所有東西,這不是一個好習慣?設置安全性(比如不要無限期地遞歸呼叫)是一個解決方案嗎?
當 while 循環足夠時使用遞歸是不好的做法。遞歸程式碼更難閱讀,更難調試,編譯器更難優化,並且可能導致堆棧溢出。
此外,不應從主執行緒進行連接。
編輯:也許是因為沒有試驗限制,之後程式碼應該假設使用者離線。否則堆棧會增長,如果堆棧沒有溢出,迭代器可能會越界。
IMO 使用遞歸併不是一個壞習慣,它們可以用來做很多有趣的事情,儘管我不是評論這些事情的最佳人選。
這個執行緒中關於遞歸與 while 循環的有趣評論很少:https ://www.reddit.com/r/csharp/comments/rnoy7h/difference_between_tail_recursion_and_while_loop/
就程式碼而言,我找不到會在某些時候停止遞歸的行,因此添加
if
帶有某些條件的語句來終止可以使其在生產中可用。