您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“C++實(shí)施建議有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C++實(shí)施建議有哪些”吧!
對于大規(guī)模代碼來說,不包含實(shí)施建議的規(guī)則是無法管理的。針對所有規(guī)則的實(shí)施建議只有在規(guī)則數(shù)量甚少,針對特定的用戶群體時(shí)才可能存在。
But we want lots of rules, and we want rules that everybody can use.但是我們想要很多規(guī)則,并且我們希望每個(gè)人都能用的規(guī)則。
But different people have different needs.但是不同的人需求也不同。
But people don't like to read lots of rules.但是人們不喜歡理解大量規(guī)則。
But people can't remember many rules.但是人們不能記住大量的規(guī)則。
So, we need subsetting to meet a variety of needs.因此我們需要構(gòu)造規(guī)則的子集以滿足不同的需求。
But arbitrary subsetting leads to chaos.但是隨心所欲的構(gòu)造子集會導(dǎo)致混亂。
我們幫助很多人的指南可以使代碼更加統(tǒng)一,并且強(qiáng)烈推薦人們現(xiàn)代化他們的代碼。我們希望鼓勵(lì)最佳實(shí)踐,而不是把一切留給個(gè)人選擇和管理壓力。這個(gè)想法適用于所有規(guī)則;這會帶來巨大的利益。
這些想法加起來造成非常多的困擾。我們努力使用工具解決這些問題。每條規(guī)則都有一個(gè)實(shí)施建議用來列舉實(shí)施相關(guān)的想法。實(shí)施的方式可以是通過代碼評審,靜態(tài)分析,編譯器,或者執(zhí)行時(shí)檢查。只要可能,我們更加推薦機(jī)械檢查(人的速度很慢,不準(zhǔn)確并且容易厭煩)和靜態(tài)檢查。動態(tài)檢查只有在沒有其他備選出口時(shí)才會被推薦,這種情況很少;我們(在實(shí)施建議中)以一組相關(guān)規(guī)則的統(tǒng)稱(稱為“概述”)為規(guī)則打標(biāo)簽。規(guī)則可以是多個(gè)從屬于多個(gè)不同的概述,或者不屬于任何概述。作為開始,我們已經(jīng)有幾個(gè)概述用于對應(yīng)常見的需求(愿望,理想)
譯者注:再次強(qiáng)調(diào)靜態(tài)檢查。
type: No type violations (reinterpreting a T
as a U
through casts, unions, or varargs)類型:沒有類型違反(通過類型轉(zhuǎn)換,聯(lián)合或者可變參數(shù)將T重新解釋為U)
bounds: No bounds violations (accessing beyond the range of an array)范圍:沒有范圍違反(超出數(shù)組范圍訪問)
lifetime: No leaks (failing to delete
or multiple delete
) and no access to invalid objects (dereferencing nullptr
, using a dangling reference).聲明周期:沒有泄漏(沒有delete或多重delete)和訪問無效對象(對空指針取值,使用野指針)
概述的目的是被工具使用,但也可以幫助人類讀者。對用戶那些我們知道如何實(shí)施的規(guī)則,我們不會在實(shí)施建議中吝惜我們的描述。有些解釋僅僅是希望啟發(fā)某些工具構(gòu)建者的思考。
Tools that implement these rules shall respect the following syntax to explicitly suppress a rule:
實(shí)現(xiàn)這些規(guī)則的工具應(yīng)該遵守下面的語法以便明確地抑制某條規(guī)則。
[[gsl::suppress(tag)]]
這里“tag”是一個(gè)項(xiàng)目的錨名稱,這里應(yīng)該出現(xiàn)實(shí)施建議(例如對于C.134來說是“Rh-publicc”),規(guī)則組名稱(“type”,“bounds”,或者“l(fā)efttime”),或者概述中的特定規(guī)則。
譯者注:抑制的含義是忽略某條規(guī)則。
到此,相信大家對“C++實(shí)施建議有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。