代碼異味 - 低階加法

PHPz
發布: 2024-09-12 10:21:41
原創
753 人瀏覽過

不要在乎你如何做事。關心你所做的事

TL;DR:放棄循環:用聲明式風格寫出更簡潔的程式碼

問題

  • 冗長的邏輯
  • 重複模式
  • 可讀性
  • 可維護性

解決方案

  1. 刪除循環
  2. 簡化邏輯
  3. 編寫聲明性與高階程式碼

情境

對集合求和時,您可以手動循環元素並將每個元素新增至變數。

這種方法有效,但增加了不必要的程式碼行並且使其更難以遵循。

使用語言進階函數,您可以使程式碼更短、更清晰且不易出錯。

它準確地告訴您程式碼正在做什麼,而不是它是如何做的。

範例程式碼

錯誤的

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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!