iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0

「Dispensables」這個氣味分類是指程式碼中出現一些不必要的元素。如果移除它們,可以使程式碼更加乾淨、效率更高,並且更容易理解。

這個分類概念相當容易理解,但卻又十分重要。因為它鼓勵了像我們這樣的開發人員去識別並勇敢消除程式碼中的冗餘或不必要的元素。通過刪除這些可有可無的程式碼,開發者可以提高程式碼的整體品質和可維護性。此外,消除不必要的元件還可能提升性能,減少資源無謂的消耗。

因此,對於開發人員來說,定期檢查程式碼是否包含這種氣味,並且移除與重構來強化程式碼品質是相當重要的。

能夠歸類在這個類別中的氣味可能因來源看法而存在差異。但是在我看來,我認為應該包括以下六種氣味:

Lazy Class 冗余類別

當一個類別除了存在以外沒有太多有意義的具體實作。

Speculative Generality 通用畫大餅

當你發現一段程式碼是為了不知何時才能實現的未來需求而撰寫,但是現在根本派不上用場。

Data Class 資料類別

一個類別除了存取資料之外,沒有其他有意義意圖或行為。

Duplicated Code 重複的程式碼

兩段非常相似或完全相同的程式碼存在專案中的不同位置。

Comment 過度或無謂的註解

「註解」氣味包括兩種:過度註解指得是超過必須的程度;無謂註解則是沒有提供有意義的資訊。

Dead Code 亡靈程式碼

當一段程式碼在執行階段永遠不會被觸及使用,我們可以稱之為專案內的「亡靈程式碼」。通常來自於需求變更與計畫變動,捨棄了一部分原有的實作。

後記

鐵人賽第二十天,已經超過三分之二進入尾聲的位置。第四個氣味分類中每一個看上去都相對單純好理解,希望對應的重構技巧也是。

在連續二十多天(加上賽前準備)的寫作過程中,得到一些額外的靈感與啟發,希望在三十天後也能持續把整個主題,包括腦中的念想一起介紹完成,整合出一個能夠回饋社群的知識系統。


A dispensable is something unnecessary that, if removed, would make the code cleaner, more efficient, and easier to understand.

This concept is easy to understand but quite important because it encourages developers like us to identify and eliminate redundant or unnecessary components in our codebase. By removing these dispensable codes, developers can improve the overall quality and maintainability of their code. Additionally, eliminating unnecessary components can also lead to better performance and reduced resource consumption.

Therefore, it is crucial for developers to regularly review their code and identify any dispensable code smells that can be refactored to enhance the code quality.

The smells in this category may vary depending on the source. In my opinion, I believe the following six smells should be included.

Lazy Class

A "Lazy Class" smell is a class that doesn't do enough meaningful work to justify its existence.

Speculative Generality

When you find codes for future requirements that are not currently needed.

Data Class

A "Data Class" that only holds data without meaningful behavior can be seen as a violation of this smell.

Duplicated Code

This smell occurs when identical or very similar code fragments appear in multiple places.

Comment

The “Comment” smell includes both excessive and redundant comments. Excessive comments can clutter the code, making it harder to read, while redundant comments state the obvious and don't provide meaningful information.

Dead Code

Dead code refers to code that is no longer executed or reachable in the current codebase.

Reference

https://refactoring.guru/refactoring/smells

https://code-smells.com/


上一篇
Change Preventers > Parallel Inheritance Hierarchies 平行繼承的類別關係與重構
下一篇
Dispensables > Comment 無謂的註解與重構
系列文
程式碼氣味到重構之路 Code Smells to Refactorings37
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言