我在视频号“魏永明谈软件聊开源讲编程”直播间开设的直播课程《Linux环境高级编程》第一期已接近尾声。2024 年我打算同时开设两门直播课程,一门是《Linux环境高级编程》,另一门是《C语言最佳实践》。计划每个课程五期,总共十期直播课程,目标是培养 1,000 名合格的系统软件开发人才。这个月底将启动《C语言最佳实践》第二期;下个月,就是春节后,启动《Linux环境高级编程》第二期。
2021 年年底我在视频号直播间做了《C语言最佳实践》第一期的公开课程,效果很好,基于这个课程内容的撰写的《C语言最佳实践》这本书初稿已经完成,预计在今年六七月份可以正式出版发行。
在这本书的前言中我提到:C 语言被广泛应用于系统底层的开发当中,这是因为 C 语言是最接近计算机处理器的编程语言。C 语言可产生接近汇编语言执行效率的机器指令,同时保持着非常好的跨平台特性。由于操作系统内核、基础函数库、数据库等大量的基础软件使用 C 语言开发,甚至许多脚本编程语言(如 Python)的解释器也使用 C 语言开发,故而,将 C 语言称作人类迄今为止创建的整个软件生态的底座,相信没有人会提出异议。
在我近三十年的软件开发生涯中,看到过很多 C 程序员不能有效使用 C 语言编写程序。尽管很多 C 程序在语法上没有什么问题——毕竟可以运行的程序起码要通过编译器的编译——但在很多方面存在或多或少的问题,比如:不注重代码的可读性,写出来的代码没有美感和章法,很乱。不会给函数、变量、结构成员等取名,一着急甚至使用拼音。不注重细节,比如定义一个字符数组做缓冲区,其大小凭臆想随手填写。不严谨,对编译时出现的大量警告视而不见。等等。
以上这些,其实都是一些基础性的问题,作为一名合格的 C 程序员必须给以充分重视并纠正这些错误。这些问题属于代码可读性和可维护性的范畴,相比起来还算好掌握。但如果进一步谈到 C 程序的常见设计模式和实现模式,比如如何设计接口,如何解耦代码和数据,如何采纳子驱动程序实现模型,如何设计状态机等,则绝大多数 C 程序员都会感到难以理解和驾驭。
《C语言在最佳实践》这门课程就是给已经掌握 C 语言基本用法,用 C 语言编写过一些程序的人准备的,旨在帮助有一定经验的 C 程序员之水平可以在短时间内有质的飞跃。该课程不同于一般的 C 语言课程,讲的不是书本上常见的那些话题,通过总结大量的工程实践经验,从可读性、可维护性、可扩展性角度阐述如何写好 C 程序,同时讲解了 C 程序的常见设计模式和实现模式。绝对值得一听。
《C语言最佳实践》不是免费课程,每节课999微信豆,但可以参与购物换固定学员资格的优惠活动,详情见海报,或直接扫码加微信群。
