不要在乎你如何做事。關心你所做的事
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() 等聲明性函數可以提高可讀性並減少潛在的錯誤。
您減少了對手動循環的需求並使其更易於維護。它以最少的語法和混亂準確地顯示了程式碼正在做什麼。
關係

程式碼氣味 53 - 明確迭代
馬克西·孔蒂耶里 ・21 年 1 月 5 日

代碼氣味 123 - 混合「什麼」和「如何」
馬克西·孔蒂耶里 ・ 22 年 3 月 22 日
免責聲明
程式碼味道是我的觀點。
製作人員
照片由 Kati Hoehl 在 Unsplash 上拍攝
程式最重要的屬性是它是否實現了使用者的意圖。
C.A.R.Hend

軟體工程精彩名言
馬克西·孔蒂耶里 ・ 2020 年 12 月 28 日
本文是 CodeSmell 系列的一部分。

如何找出程式碼中的臭部分
馬克西·孔蒂耶里 ・ 21 年 5 月 21 日
以上是代碼異味 - 低階加法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python和C 各有優勢,選擇應基於項目需求。 1)Python適合快速開發和數據處理,因其簡潔語法和動態類型。 2)C 適用於高性能和系統編程,因其靜態類型和手動內存管理。

選擇Python還是C 取決於項目需求:1)如果需要快速開發、數據處理和原型設計,選擇Python;2)如果需要高性能、低延遲和接近硬件的控制,選擇C 。

通過每天投入2小時的Python學習,可以有效提升編程技能。 1.學習新知識:閱讀文檔或觀看教程。 2.實踐:編寫代碼和完成練習。 3.複習:鞏固所學內容。 4.項目實踐:應用所學於實際項目中。這樣的結構化學習計劃能幫助你係統掌握Python並實現職業目標。

在兩小時內高效學習Python的方法包括:1.回顧基礎知識,確保熟悉Python的安裝和基本語法;2.理解Python的核心概念,如變量、列表、函數等;3.通過使用示例掌握基本和高級用法;4.學習常見錯誤與調試技巧;5.應用性能優化與最佳實踐,如使用列表推導式和遵循PEP8風格指南。

Python適合初學者和數據科學,C 適用於系統編程和遊戲開發。 1.Python簡潔易用,適用於數據科學和Web開發。 2.C 提供高性能和控制力,適用於遊戲開發和系統編程。選擇應基於項目需求和個人興趣。

Python更適合數據科學和快速開發,C 更適合高性能和系統編程。 1.Python語法簡潔,易於學習,適用於數據處理和科學計算。 2.C 語法複雜,但性能優越,常用於遊戲開發和系統編程。

每天投入兩小時學習Python是可行的。 1.學習新知識:用一小時學習新概念,如列表和字典。 2.實踐和練習:用一小時進行編程練習,如編寫小程序。通過合理規劃和堅持不懈,你可以在短時間內掌握Python的核心概念。

Python更易學且易用,C 則更強大但複雜。 1.Python語法簡潔,適合初學者,動態類型和自動內存管理使其易用,但可能導致運行時錯誤。 2.C 提供低級控制和高級特性,適合高性能應用,但學習門檻高,需手動管理內存和類型安全。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。