• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

夜鹰flying

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

libplayer续

      从libplayer的接口看出,其大多数的函数没有返回值,这样做使得调用者不大方便,无从判断函数是否执行成功。根据libplayer的调用原理来看,它是通过管道与mplayer等播放器的标准输入输出相连,本文都以mplayer为例,通过向管道输入命令来控制mplayer,但是由于输出的信息情况较为复杂,libplayer使用了一个线程来监控输出,来处理不同的情况,这样的架构使得libplayer的接口不适宜使用返回值的形式。

     

 可以看到libplayer编写的函数模块很明确,每个函数都实现一个很小的功能,相对独立,有较强的重用性,每个函数的代码量都不大。
每个函数都对各个参数进行检验,尤其是指针的有效性检验。
从命名规范到格式排版libplayer的代码都非常的优雅。
注释不多,但都为抽象层,有利于阅读源码时从更高层把握。
注意到断行,其较长的代码行都人为分行,对齐
其注释还遵循了文档自动生成工具doxgen的规范,使得其自动生成帮助文档

 

posted on 2010-12-21 13:37  夜鹰flying  阅读(332)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3