nginx源码总结:
1)代码中没有特别绕特别别扭的编码实现,从变量的定义调用函数的实现封装,都非常恰当,比如从函数命名或者变量命名就可以看出来定义的大体意义,函数的基本功能,再好的架构实现在编码习惯差的人实现也会黯然失色,如果透彻理解代码的实现,领悟架构的设计初衷,觉得每块代码就想经过耐心雕琢一样,不仅仅实现了基本的功能给你,为其他人阅读也会提供很好的支持。细致恰当的命名规则就可以看出作者的功力。
2)更好更高的软件性能体现在架构设计上,好的架构会让软件更加稳定、容易维护、便于扩展、从核心模块的实现到上层模块的封装,每个模块的任务划分,所有模块的关系。使用C语言,不借助任何容易,不借助完成任何第三方库(指实现上借助的库,而不是为了业务功能添加的第三方库,也不是指可以和nginx交互的第三方库),将内存的使用,将C++对象封装的思想诠释的同样完美,当然自己添加的模块必须在编译才可以被添加到可执行程序中。在实现的过程中按照一定的规则,按照一定的套路、按照原始的思想去实现。觉得架构比实现更重要,知道自己做什么比自己盲目去做更重要,更重要的是开始之前去构思自己的目标。
3)可以更明白大牛都是怎么出处理常见过得问题,同样是使用C语言,同样是基本的标志库函数、系统调用,对于经常害怕的调用(比如动态申请内存,比如资源的释放、比如数据发送的处理,比如各个模块的关系)看别人如何这么娴熟!自己也没有看的太洗,也不知道都知道了什么,在刚看时看的时候也觉得很什么,虽说现在肯定对有些基本问题不是很懂,但内心并不是那么胆怯,没有太多时间,尽可能追求最大收益,过一段时间肯定会忘,就想以前看别的代码一样忘得一干二净,但那么有趣的过程,从胆怯抵触到懵懂,从懵懂到了解,从了解到熟悉的递进过程是忘不了的!奉献一个在看的过程中自己注释过的源代码!通过学习!共同进步!