成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C++怎么直接用代碼表達(dá)想法

這篇文章主要介紹“C++怎么直接用代碼表達(dá)想法”,在日常操作中,相信很多人在C++怎么直接用代碼表達(dá)想法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++怎么直接用代碼表達(dá)想法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,先為天山等服務(wù)建站,天山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為天山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

P.1: Express ideas directly in code(直接用代碼表達(dá)想法)

Reason(原因)

編譯器不會讀注釋(或者設(shè)計文檔),程序員也不會(一貫地)。通過代碼表達(dá)的內(nèi)容被語法定義而且可以(理論上)被編譯器和其他工具檢查。

Example
class Date {public:    Month month() const;  // do    int month();          // don't    // ...};

第一個month的聲明明確表達(dá)了返回Montrh和不修改Data對象的狀態(tài)這兩件事。第二個聲明則需要讀者猜想而且留下了更多的發(fā)生未知錯誤的可能性。

Example, bad(反例)

This loop is a restricted form of std::find:

循環(huán)只是std::find的限定形式。

void f(vector<string>& v){    string val;    cin >> val;    // ...    int index = -1;                    // bad, plus should use gsl::index                                       // 不好, 外加應(yīng)該使用gsl::index    for (int i = 0; i < v.size(); ++i) {        if (v[i] == val) {            index = i;            break;        }    }    // ...}
Example, good(正確示例)

A much clearer expression of intent would be:

意圖的最明確表達(dá)是下面這個樣子:

void f(vector<string>& v){    string val;    cin >> val;    // ...    auto p = find(begin(v), end(v), val);  // better,較好    // ...}

經(jīng)過良好設(shè)計的庫會比直接使用語言功能的做法更好的表達(dá)意圖(做什么而不是只是怎么做)

C++程序員應(yīng)該了解標(biāo)準(zhǔn)庫的基本知識并且恰當(dāng)?shù)倪\(yùn)用它。任何程序員都應(yīng)該了解項目正在使用的基本庫并能恰當(dāng)?shù)氖褂盟J褂眠@個指南的任何程序員都應(yīng)該知道規(guī)則支持庫并且恰當(dāng)?shù)氖褂盟?/p>

Example(示例)
change_speed(double s);   // bad: what does s signify?                          //不好:s的含義是什么? // ...change_speed(2.3)

比較好的做法是明確double的含義(是新速度還是相對于就速度的變化?)和單位。

change_speed(Speed s);    // better: the meaning of s is specified                          // 較好:定義了s的含義// ...change_speed(2.3);        // error: no unit 錯誤:沒有單位change_speed(23m / 10s);  // meters per second 米每秒

我們可以接受一個無修飾的double值作為變化量,但是這容易引發(fā)錯誤。如果即想要絕對速度,又想要速度的變化量,我們需要定義一個Delta類型。

譯者注:change_speed(23m/10s)的寫法有些少見,我們明天文章中說明。

Enforcement(實(shí)施建議)

Very hard in general. 總的來說很難實(shí)施。

  • use const consistently (check if member functions modify their object; check if functions modify arguments passed by pointer or reference)

    堅持使用const(檢查成員函數(shù)是否修改對象;檢查函數(shù)是否修改通過指針或引用傳遞的參數(shù))

  • flag uses of casts (casts neuter the type system)

    重視類型轉(zhuǎn)換的用法(類型轉(zhuǎn)換會使類型系統(tǒng)無法發(fā)揮作用)

  • detect code that mimics the standard library (hard)

    發(fā)現(xiàn)模仿標(biāo)準(zhǔn)庫的代碼(困難)

到此,關(guān)于“C++怎么直接用代碼表達(dá)想法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

文章名稱:C++怎么直接用代碼表達(dá)想法
地址分享:http://jinyejixie.com/article38/pgcpsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站設(shè)計、小程序開發(fā)、網(wǎng)站改版、企業(yè)網(wǎng)站制作、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計
姜堰市| 永福县| 休宁县| 罗田县| 邯郸县| 汉沽区| 陵水| 武乡县| 汉沽区| 万山特区| 青龙| 凤山县| 绩溪县| 农安县| 都兰县| 南华县| 方城县| 兴隆县| 恩施市| 安图县| 大英县| 定兴县| 蒙自县| 吉林省| 保山市| 临猗县| 榆社县| 龙江县| 阜阳市| 将乐县| 富阳市| 嫩江县| 廊坊市| 且末县| 阿拉尔市| 吕梁市| 安平县| 宁晋县| 观塘区| 蓝山县| 固镇县|