libplayer续
从libplayer的接口看出,其大多数的函数没有返回值,这样做使得调用者不大方便,无从判断函数是否执行成功。根据libplayer的调用原理来看,它是通过管道与mplayer等播放器的标准输入输出相连,本文都以mplayer为例,通过向管道输入命令来控制mplayer,但是由于输出的信息情况较为复杂,libplayer使用了一个线程来监控输出,来处理不同的情况,这样的架构使得libplayer的接口不适宜使用返回值的形式。
可以看到libplayer编写的函数模块很明确,每个函数都实现一个很小的功能,相对独立,有较强的重用性,每个函数的代码量都不大。
每个函数都对各个参数进行检验,尤其是指针的有效性检验。
从命名规范到格式排版libplayer的代码都非常的优雅。
注释不多,但都为抽象层,有利于阅读源码时从更高层把握。
注意到断行,其较长的代码行都人为分行,对齐
其注释还遵循了文档自动生成工具doxgen的规范,使得其自动生成帮助文档
浙公网安备 33010602011771号