不要在乎你如何做事。關心你所做的事
TL;DR:放棄循環:用聲明式風格寫出更簡潔的程式碼
對集合求和時,您可以手動循環元素並將每個元素新增至變數。
這種方法有效,但增加了不必要的程式碼行並且使其更難以遵循。
使用語言進階函數,您可以使程式碼更短、更清晰且不易出錯。
它準確地告訴您程式碼正在做什麼,而不是它是如何做的。
transaction_values = [10.0, -5.21, 101.32, 1.11, -0.38] balance = 0 for transaction_value in transaction_values: balance += transaction_value
transactions_values = [10.0, -5.21, 101.32, 1.11, -0.38] balance = sum(transactions_values)
[X] 半自動
當您看到顯式循環累積結果時,您可以檢測到這種氣味,尤其是在對值求和等簡單操作中。
[X] 初學者
AI 產生器有時可以透過編寫詳細循環而不是使用 sum().
等函數來產生這種氣味。如果您沒有指定需要更簡潔的聲明式解決方案,他們可能會選擇更多行程式碼。
當你要求AI 系統透過簡單的「最佳化」或「簡化」指令來降低程式碼複雜性時,它們可以輕鬆檢測並簡化這種氣味,大多數AI 工具建議在這種情況下使用 sum()。
記得人工智慧助理會犯很多錯誤
ChatGPT 克勞德困惑雙子座
ChatGPT 克勞德困惑雙子座
喜歡 sum() 等聲明性函數可以提高可讀性並減少潛在的錯誤。
您減少了對手動循環的需求並使其更易於維護。它以最少的語法和混亂準確地顯示了程式碼正在做什麼。
程式碼味道是我的觀點。
照片由 Kati Hoehl 在 Unsplash 上拍攝
程式最重要的屬性是它是否實現了使用者的意圖。
C.A.R.Hend
本文是 CodeSmell 系列的一部分。
以上是代碼異味 - 低階加法的詳細內容。更多資訊請關注PHP中文網其他相關文章!