簡體   English   中英

避免在Qt中使用非符號常量

[英]Avoiding non symbolic constants in Qt

我參與的代碼審查中經常出現的一件事是在代碼中內聯的“魔術數字”是一件壞事。

首選是將符號分配到某處。

現在,我目前正在使用的QT SDK中。 類成員QButtonGroup.checkedId()將返回-1作為魔術數字,以表示所選的組中沒有單選按鈕。

如果我寫這樣的話

if ( buttongroup->checkedId() == -1 )
{
   //yadda yadda
}

它會出現在代碼審查中。

雖然可以定義一個const static int符號來給我-1 ,但是我更願意在Qt名稱空間中使用一些已定義相關常量的東西。

是否已經定義了這樣的符號?

代碼審查與您的代碼有關,而不是與第三方庫的代碼有關,因此您不能也不應處理它。 Qt沒有任何可比較的命名實體,因此您必須將結果代碼與-1比較。 但是,它有一個好的方面: -1是一個廣為人知的幻數,因此不會有任何誤解-它在許多不同的語言和庫中使用。 無論它多么糟糕,它都在這里,我們必須忍受它。

沒有預定義這樣的符號; 您必須自己定義它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM