欢迎访问 生活随笔!

生活随笔

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

编程问答

if语句使用建议

发布时间:2024/5/15 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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语句使用建议的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。