為什麼程式設計中大家都喜歡使用int來代表各種狀態和型別常量,而不是使用中文或英文單詞常量?

時間 2021-06-01 12:50:07

1樓:

首先,如果使用的是預定義的常量而不是魔法數字或者魔法字串的話,二者的可讀性是沒有差別的。也就是說無論STATUS_INIT的值是init還是0,並不影響程式的可讀性。

其次,如果用英文本串還好,但是中文字串還要考慮編碼的問題,徒增煩惱

第三,tinyint,smallint之類存乙個列舉的狀態碼一般來說都綽綽有餘,犯不著存乙個字串,同時很多公司都有規定禁止用字串

第四,任何語言數字都是基本型別,但是字串可不一定,很多時候字串的相等判定都需要更多開銷,划不來

第五,你不覺得一般來說用數字比用中文逼格更高麼?

2樓:

同學,你知道列舉嗎?

你覺得 if (state == 1) 快還是 if (strcmp(state, "正在使用") 快?

3樓:

不會是用魔法字串吧?如果有Constant類集中存放常量,那麼具體用的時候就主要看常量類的命名吧?多數情況下英文變數名就已經夠見名知意了,那麼後面值再寫個中文就沒啥意義

4樓:

如果只是用於對比,愛用啥用啥,字串的底層也是位元組,沒有本質區別。

數值的真正優勢是運算,主要是相等、比較大小、位運算表達多種狀態這三種;還有持久化儲存和網路傳輸,字串要考慮轉義和編碼;數值自帶型別驗證,使用字串進行引數驗證需要多做一些工作。

如果只在執行環境內使用,沒有太大區別,追求微不足道的效能意義不大,要調整也很容易。如果要考慮網路傳輸、持久化和外部互動,數值還是簡單省事些。

另外,為什麼是int,更多的只是很多人最開始學的是C語言,而C語言是用int表達數值、判斷、字元、指標,很多語言也承襲了C的理念,習慣性的就用了,沒那麼多高大上的原因。

為什麼大家都普遍喜歡使用高壓鍋呢?

廚電極客 因為隨著大家的生活節奏越來越快,忙於工作學習,做飯的時間並不是很多 而電壓力鍋因為做飯快,效率高,特別適合日常家用,二三十分鐘就能做熟一道大菜 像牛肉 鹽焗雞 紅燒肉 豬蹄筋,排骨等,電壓力鍋統統二三十分鐘就能搞定 並且現在很多電壓力鍋都是微電腦智控,安全可靠,自動調壓排氣,非常安全放心 ...

為什麼大家都喜歡UZI?

ContraElVento 我只有我自己與uzi的回憶和大家分享了 我從2013年接觸到英雄聯盟這款遊戲,而那時剛好是s3的總決賽期間,我仍然能記起和同學一起看uzi的vn一人殺入人群中1v3卻仍能全身而退的場景,聽到解說的怒吼 he is still alive 時內心的激動與抑制不住的興奮。儘管...

為什麼大家都抗拒使用含激素的藥物?

橘塗叮 藥學學生 正好前兩天剛學到激素這塊 平時人們說的激素,其實是指糖皮質激素 長時間使用會有很多不良反應 糖皮質激素會讓身體的脂肪重新分布 導致向心性肥胖 簡單來說就是會導致滿月臉,牛蛙肚,水牛背 對醣類促進生成減慢分解,會導致高血糖 對蛋白質也是促進生成減慢分解,所以就會欺負變薄,紅血絲很明顯...