自己总结的一些编写代码的常识
来源:互联网 发布:2017党费缴纳算法 编辑:程序博客网 时间:2024/05/16 10:49
为什么使用函数(为了便于提升软件开发效率和维护)
开发角度
1)软件开发效率:通过使用函数来代码复用,提高了软件开发效率
2)代码可读性提高:良好命名的函数能通过函数名了解该代码块的功能职责,比起代码块显而易见这样更容易理解。由于这个原因,有时只有一次使用的代码块也应该写成函数。
3)软件更易维护:函数内的代码修改,能够一次改动多处地方自动改动,便于根据需求改动功能或改变算法来提高效率。
1)软件开发效率:通过使用函数来代码复用,提高了软件开发效率
2)代码可读性提高:良好命名的函数能通过函数名了解该代码块的功能职责,比起代码块显而易见这样更容易理解。由于这个原因,有时只有一次使用的代码块也应该写成函数。
3)软件更易维护:函数内的代码修改,能够一次改动多处地方自动改动,便于根据需求改动功能或改变算法来提高效率。
客户角度
1)提升程序运行效率。如果函数所包含的代码块体积比较大时也提升了软件运行效率,如果代码块体积比较小智能的编译器也会根据情况选择是否内联
编写函数需要注意的地方
编写函数需要注意的地方
1)保证传入的参数正确,确保能应对垃圾输入和非法输入。根据情况处理,比如可以抛出异常。
并写明pre,post。
2)如果函数有返回值,确认每条分支都有返回值3)1.对类数据成员是否修改
2.函数中使用哪些函数use
4)让函数功能单一。比如根据输入执行操作返回输出,这时一般不应再修改输入或执行其他功能。
4)让函数功能单一。比如根据输入执行操作返回输出,这时一般不应再修改输入或执行其他功能。
如何阅读代码
顺序:类,类的对外接口方法,方法
先直观了解软件的各个功能
1)有哪些类类之间的相互关系,类之间的数据是如何传递的
2)类有哪些public方法
3)每个类的内部实现,包括数据成员和私有函数,以及函数间的调用关系
4)函数或者方法,功能,pre,post,use哪些function
部分算法函数阅读,特别是循环
先搞清楚执行了几次循环,循环内的自变量是什么,不变量是什么
递归注意事项:
1)保证递归能退出,一般在函数第一句就写判断递归退出的条件 2)递归在向前进
比如以下为二叉查找树查找目标键的递归函数
SearchBST(binary_node *sub_root,const Record &target) const
{
if (sub_root == NULL || sub_root->data == target)
return sub_root;
else if (sub_root->data < target)
return SearchBST(sub_root->right,target);
else
return SearchBST(sub_root->left,target);
}
定义类:
私有数据成员
构造函数一般都提供默认构造函数。对单个参数的构造函数使用 C++ 关键字 explicit(如果构造函数只有一个参数, 可看成是一种隐式转换)
析构
若非需要,禁用拷贝和赋值
函数尽量限定为const,inline,参数尽量用const修饰(如const引用,const int)
类库源码阅读
构造、析构
复制、赋值
常用对外接口(pre,post,func)
客户端程序员使用注意事项
- 自己总结的一些编写代码的常识
- enote笔记法使用范例(1)——自己总结的一些编写代码的常识 (a)
- 关于一些常识的总结
- 编写Torque game的一些常识
- 【insigma】java编写的一些常识
- 自己总结的一些js代码
- 自己总结的一些常用代码
- 自己总结的ulua代码写的一些方法
- 手机的一些常识
- IPhone 的一些常识
- 一些android的常识
- 电容的一些常识
- Java的一些常识
- javascript的一些常识
- JAVA 的一些常识
- android的一些常识
- dll的一些常识
- 刑事诉讼的一些常识
- Linux的五个文件查找命令:find,locate,whereis,which,type
- quickSort 的递归与迭代实现
- JadePool应用范例:完善China软件项目架构(二)
- VMWere WorkStation 9 的 NAT 问题
- Thinkphp在Nginx上的配置
- 自己总结的一些编写代码的常识
- install openmpi on ubuntu
- hdu 2449
- 在IIS7或以上版本配置Python
- MYSQL宽字节注入漏洞详解
- Windows Phone 8 开发笔记
- Windows Phone 8 新增功能:支持第三方应用创建自定义联系人Custom Contact Store。
- Windows Phone 8 新增功能:TTS文本朗读功能 和 语音识别 API
- Windows Phone 8 新增功能:解锁开发者手机和新的调试功能