博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
think it clear: const, char, format
阅读量:7087 次
发布时间:2019-06-28

本文共 731 字,大约阅读时间需要 2 分钟。

  hot3.png

写出糟糕的代码会带来糟糕的感觉和生活,尽管它运行的很好。

有时候我们面临着多种选择,这样也可,那样也可,但是哪一个才是那最精准,带着脆响的一投呢? 

今天遇到几个值得斟酌,需要think it clear的问题:

1, const:

void
 func( 
type
*
 arg);

看到这句话我们脑海里闪现这样一些信息:

a, 这是用指针传递参数来代替整个类型的复制

b, 这个arg指向的内容可能会被改变

但是如果其实我们并不改变,那么这个声明就没有最确切的表达意思,下面就非常确切

void
 func(
const
 type
*
 arg);
   class type
   {
     public:
         const int* mMember;
   };

----不仅进了球,而且很脆的空心,读代码和写代码的人都感到很享受。

2, char and unsigned char

在表述字符的时候,用unsigned char更加合理

3, if

bool
 judge()
...
{
   
if(a)
   
...{
       
if(b)
       
...{
              
return true;
        }
else
        
...{
              
return false;
        }
   }
else
   
...{
        
return false;
    }
}

这个也的确是对的写法,但是无论自己写起来还是别人读起来,真是混乱的格式,不如改成:

bool
 judge()
...
{
if(a==false)
   
return false;
if(b==false)
   
return false;
if(...)
....;
   
return true;
}

这样层层筛选的意思就表达的十分确切

原文链接:

转载于:https://my.oschina.net/dtec/blog/44679

你可能感兴趣的文章
HTTP协议(转)
查看>>
javascript设计模式
查看>>
BS程序怎样通过浏览器了解点击响应时间
查看>>
(转) 密码学中的“盐值 Salt”
查看>>
UIWebView的高度不对问题
查看>>
POCO库中文编程参考指南(10)如何使用TCPServer框架?
查看>>
Java集合源码分析(二)Linkedlist
查看>>
安卓手机GPU OpenCL总结(转)
查看>>
【大数据】基于Hadoop的HBase的安装(转)
查看>>
SpringBoot四大神器之Actuator
查看>>
html复习之标签整理
查看>>
Yii2 使用 faker 生成假数据(转)
查看>>
Consul安装使用
查看>>
tomcat事件处理机制
查看>>
JS BUG 传递数字过大,数据值会变化
查看>>
橡皮筋进度条ElasticProgressBar
查看>>
spring boot引入json,jsonobject,需要指定jdk15
查看>>
企业架构 - 涉众管理(Stakeholder Management)
查看>>
Ubuntu11.10 解决rar文件解压错误
查看>>
深入理解Java虚拟机:JVM高级特性与最佳实践(围绕内存管理和高并发等问题对JVM深入分析)...
查看>>