本周工作思考
我觉得要善于干巧活,web录制项目中除了视频专业能力的提升以及工程上基础合成录制sdk的实现及完善,还有重要的收获就是增强了干巧活的意识,这个巧活,不是偷懒的意思,而是通过精巧设计来减少工作量,减少不必要的复杂度,进而提升效率。这个我目前做过的难度和复杂度比较高的项目之一,整个功能看起来简洁易用,但是内部的展示子系统,录制流程控制,视频播放控制等等各个部分花费大量的思考和设计,还有编码实现,难度体现在多媒体和WebRTC对我来说并不是很熟悉,平时我自认为对音视频技术算是小有理解,做这个项目是还是觉得这方面自己还是小学生,加之这块资料比较奇缺,很多功能需要自己设计和实现,项目前期花了不少时间调研和设计视频流的合成功能,在后面的功能开发和测试,这类问题就比较好解决,效率就比较高, 反而是展示子系统当时觉得这是平时经常做的,没有仔细设计,就出现了很多的系统性bug,这类bug牵一发而动全身,改起来也就举步维艰。软件工程里很重要的一个话题就是研究如何对抗复杂性的增加,也就是熵增,通过对抗复杂性来提高效率,提高软件的复用度和可扩展性,进而降低研发成本和工程管理成本,对工程师来说项目里每个设计决策都很重要因为它决定未来是如何被迭代的,也就影响了开发的成本和效率,所以对我来说善于干巧活,如何提升干巧活的能力是未来持续提升方向之一。