日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

if语句使用建议

發布時間:2024/5/15 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 if语句使用建议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • if語句內的判斷的類型應該是布爾類型,使用非布爾類型判斷非常容易出錯。比如:
  • ??下面代碼判斷字符串不相同,很自然就用了邏輯!,實際上用法是錯誤的。

    if (!strcmp(str1, str2)) { // ... }

    ??因為strcmp返回的是int類型:
    如果返回值小于0,則表示str1小于str2。
    如果返回值等于0,則表示str1等于str2。
    如果返回值大于0,則表示str1大于str2。

  • 不要使用雙重否定,因為它會讓人多做思考,不夠直觀。比如:
  • ??判斷兩個字符串是否相等,你會發現,增加了!判斷會讓人多思考一下。

    if (!strcmp(str1, str2)) {// str1,str2字符相等 }

    應該這樣做:

    if (strcmp(str1, str2) == 0) {// str1,str2字符相等 }

    但君君更喜歡這樣寫:

    bool isEqual = strcmp(str1, str2) == 0; if (isEqual) {// str1,str2字符相等 }
  • 別做省略的事,請帶上花括號。比如:
  • if (success) {... } else {... }

    ??特別地,不要在同一行寫if語句。比如:

    if (success) ...;

    ??因為有時候復制粘貼時會將語句寫成:

    if (success) ; // 相當于無效代碼

    ??或:

    if (success) ... // 突然被判斷了

    ??突然被判斷了,導致該執行的,卻不會執行了,或者偶爾執行。這會導致程序莫名的bugs,有時候可以有時候不可以的錯覺。

    ??if加花括號還有一個好處是,復制代碼復制不全時候編譯器會報錯,但如果不加花括號,有時候它不會報錯,這就意外地增加莫名的bugs了,很鬧心的。

  • 明明有時候switch語句更好,為什么我們更愿意使用if代替switch呢?
  • ??因為switch使用起來不夠穩定,我們常常會忘記添加break中斷語句,導致邏輯不正確了。我們寫代碼也是這樣,寫出穩定的代碼,首先你要代碼看起來讓人舒服,不會讓人有過多的思考。

    ??最后,如果嚴格遵守規則會使你的代碼看起來很糟糕,請隨意打破它。

    總結

    以上是生活随笔為你收集整理的if语句使用建议的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。