C++核心準(zhǔn)則?NL.17:使用K&R風(fēng)格派生的布局

NL.17: Use K&R-derived layout
NL.17:使用K&R風(fēng)格派生的布局
Reason(原因)
This is the original C and C++ layout. It preserves vertical space well. It distinguishes different language constructs (such as functions and classes) well.
這是原始的C和C ++布局。它很好地保留了垂直空間。它很好地區(qū)分了不同的語言構(gòu)造(例如函數(shù)和類)。
Note(注意)
In the context of C++, this style is often called "Stroustrup".
在C ++的上下文中,此樣式通常稱為“斯特勞斯特盧普”。
This is a recommendation for?when you have no constraints or better ideas. This rule was added after many requests for guidance.
當(dāng)您沒有約束或更好的選擇時(shí),可以考慮這個(gè)個(gè)建議。此規(guī)則可以在許多準(zhǔn)則之后適用。
Example(示例)
struct Cable {
int x;
// ...
};
double foo(int x)
{
if (0 < x) {
// ...
}
switch (x) {
case 0:
// ...
break;
case amazing:
// ...
break;
default:
// ...
break;
}
if (0 < x)
++x;
if (x < 0)
something();
else
something_else();
return some_value;
}
Note the space between?if?and?(
注意if和(之間的空格
Note(注意)
Use separate lines for each statement, the branches of an?if, and the body of a?for.
對于每個(gè)語句,if的分支和for的正文使用單獨(dú)的行。
Note(注意)
The?{?for a?class?and a?struct?is?not?on a separate line, but the?{?for a function is.
類和結(jié)構(gòu)的{不在單獨(dú)的行上,而函數(shù)的{是。
Note(注意)
Capitalize the names of your user-defined types to distinguish them from standards-library types.
大寫用戶定義類型的名稱,以將其與標(biāo)準(zhǔn)庫類型區(qū)分開。
Note(注意)
Do not capitalize function names.
不要大寫函數(shù)名稱。
Enforcement(實(shí)施建議)
If you want enforcement, use an IDE to reformat.
如果要強(qiáng)制執(zhí)行,請使用IDE重新格式化。
原文鏈接
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#nl17-use-kr-derived-layout
新書介紹
《實(shí)戰(zhàn)Python設(shè)計(jì)模式》是作者最近出版的新書,拜托多多關(guān)注!

本書利用Python 的標(biāo)準(zhǔn)GUI 工具包tkinter,通過可執(zhí)行的示例對23 個(gè)設(shè)計(jì)模式逐個(gè)進(jìn)行說明。這樣一方面可以使讀者了解真實(shí)的軟件開發(fā)工作中每個(gè)設(shè)計(jì)模式的運(yùn)用場景和想要解決的問題;另一方面通過對這些問題的解決過程進(jìn)行說明,讓讀者明白在編寫代碼時(shí)如何判斷使用設(shè)計(jì)模式的利弊,并合理運(yùn)用設(shè)計(jì)模式。
對設(shè)計(jì)模式感興趣而且希望隨學(xué)隨用的讀者通過本書可以快速跨越從理解到運(yùn)用的門檻;希望學(xué)習(xí)Python GUI 編程的讀者可以將本書中的示例作為設(shè)計(jì)和開發(fā)的參考;使用Python 語言進(jìn)行圖像分析、數(shù)據(jù)處理工作的讀者可以直接以本書中的示例為基礎(chǔ),迅速構(gòu)建自己的系統(tǒng)架構(gòu)。
覺得本文有幫助?請分享給更多人。
關(guān)注微信公眾號(hào)【面向?qū)ο笏伎肌枯p松學(xué)習(xí)每一天!
面向?qū)ο箝_發(fā),面向?qū)ο笏伎迹?/span>
