规范的函数应该如何编写

学会编写规范的函数
服务器君一共花费了299.868 ms进行了5次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

每个函数指完成单一的功能。单一功能的函数容易理解,容易测试,也容易预测其行为。给已输入,就能知道其输出。

在设计的时候,将函数分为:查询和命令。

  • 查询函数:仅仅查询对象的状态,而不改变对象的状态。比如dist_length.指返回双向链表的长度。
  • 命令函数:只修改对象的状态,而不返回对象的状态。比如:dist_delete只删除链表的结点,并返回其操作是否成功,而不返回当前的长度或者结点是否存在。

查询分为:基本查询和复合查询。

  • 基本查询:只查对象的单一状态。
  • 复合查询:可以查询对象的多个状态。

比如:window_get_width()或者窗口的宽度,window_get_rect()获得窗口的左上角,宽度和高度。

在实现的时候,检验输入数据,确认使用者正确的调用了函数。契约式设计,规定了调用者和实现者,双方的责任。

检查你的函数

  • 关注语法错误,代码排版和变量命名。
  • 关注常见的编译错误,比如内存泄露,和可能的越界访问。变量没有初始化,函数没有返回值,没有判断函数返回值。
  • 模拟计算机执行。看执行结束是否和预期一样。
  • 自己先给自己讲一遍程序的实现流程。看流程是否自己能理解。

需要检查那些错误

  • 内存泄露
  • 内存访问越界
  • 野指针
  • 访问空指针
  • 引用未初始化的变量
  • 不清楚指针运算
  • 初始化结构引发的错误
  • 结构大小引起的变化
  • 分配和释放不匹配
  • 返回指向临时变量的指针
  • 试图修改常量全局变量和字符串
  • 误解传值和引用
  • 符号重名
  • 栈溢出
  • 误用sizeof
  • 字节对齐
  • 字节顺序
  • 多线程共享变量没有用volitile修饰
  • 忘记函数的返回值

本文地址:http://www.nowamagic.net/librarys/veda/detail/486,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/486

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《代码整洁之道》 马丁(Robert C. Martin) (作者), 韩磊 (译者)

软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。《代码整洁之道》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,《代码整洁之道》作者给出了一系列行之有效的整洁代码操作实践。这些实践在《代码整洁之道》中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

更多计算机宝库...