规范的函数应该如何编写

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

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

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

  • 查询函数:仅仅查询对象的状态,而不改变对象的状态。比如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本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

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

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

《PHP经典实例(第2版)》 斯克拉(David Sklar) (作者), 切贝特伯格(Adam Tracbtenberg) (作者), 李松峰 (译者), 秦绪文 (译者), 李丽 (译者)

PHP经典实例(第2版)能够为您节省宝贵的Web开发时间。有了这些针对真实问题的解决方案放在手边,大多数编程难题都会迎刃而解。《PHP经典实例(第2版)》将PHP的特性与经典实例丛书的独特形式组合到一起,足以帮您成功地构建跨浏览器的Web应用程序。在这个修订版中,您可以更加方便地找到各种编程问题的解决方案,《PHP经典实例(第2版)》中内容涵盖了:表单处理;Session管理;数据库交互;使用Web服务。

更多计算机宝库...