溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C++名稱該怎么寫

發(fā)布時間:2021-11-26 14:51:55 來源:億速云 閱讀:130 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“C++名稱該怎么寫”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

ES.7: 通用和局部的名稱應(yīng)該簡短,特殊和非局部的名稱應(yīng)該較長。

Reason(原因)

可讀性。避免無關(guān)的非局部名稱之間的沖突。

Example(示例)

遵循慣例的,簡短的局部變量可以增加可讀性。

template<typename T>    // good
void print(ostream& os, const vector<T>& v)
{
   for (gsl::index i = 0; i < v.size(); ++i)
       os << v[i] << '\n';
}

索引習(xí)慣上命名為i;在這個通用函數(shù)中,關(guān)于vector的含義沒有任何參考信息,因此v也是一個好名字。

template<typename Element_type>   // bad: verbose, hard to read
void print(ostream& target_stream, const vector<Element_type>& current_vector)
{
   for (gsl::index current_element_index = 0;
        current_element_index < current_vector.size();
        ++current_element_index
   )
   target_stream << current_vector[current_element_index] << '\n';
}

是的,這段代碼有點夸張,但是我們確實看過更差的。

Example(示例)

特殊且很短的非局部名稱會擾亂代碼:

void use1(const string& s)
{
   // ...
   tt(s);   // bad: what is tt()?
   // ...
}

稍好一點的做法是,為非局部實體提供可讀的名稱:

void use1(const string& s)
{
   // ...
   trim_tail(s);   // better
   // ...
}

存在這樣的可能性:讀者能夠理解trim_tail的含義并且可以在查閱代碼之后能夠記住它。

Example, bad(反面示例)

長函數(shù)的參數(shù)名屬于事實上的非局部變量,應(yīng)該具有明確的含義:

void complicated_algorithm(vector<Record>& vr, const vector<int>& vi, map<string, int>& out)
// read from events in vr (marking used Records) for the indices in
// vi placing (name, index) pairs into out
{
   // ... 500 lines of code using vr, vi, and out ...
}

我們推薦保持函數(shù)簡短,但是該規(guī)則不會適用于所有情況,名稱也應(yīng)該反映這種變化。

Enforcement(實施建議)

檢查局部和非局部變量的長度。注意同時考慮函數(shù)的長度。

“C++名稱該怎么寫”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI