首页 » PHP教程 » php中swool技巧_Swoole 2019 化繁为简破茧成蝶

php中swool技巧_Swoole 2019 化繁为简破茧成蝶

访客 2024-12-14 0

扫一扫用手机浏览

文章目录 [+]

过去6年我们的团队紧张以兼职开拓为主,团队成员大多来自于腾讯、阿里、滴滴、百度、360、小米等海内一线互联网企业,还有一部分是国外的PHP开拓者,乃至PHP措辞ZendVM内核作者Dmitry Stogov也曾向Swoole贡献了代码。
除此之外,我们还招募了一些在校大学生为Swoole编写代码,逐步培养年轻一代开拓者。

在2018年7月份我们组建了全职开拓团队,专注于Swoole内核以及Swoole Cloud云原生组件和生态链的开拓。
告别过去的草莽班子,转变为专业化的开源技能研发团队。

php中swool技巧_Swoole 2019 化繁为简破茧成蝶

我们的目标是让Swoole项目成为Node.js、Go这样的工业级技能,成为PHP编程措辞的在异步IO和网络通信方面的基石。

php中swool技巧_Swoole 2019 化繁为简破茧成蝶
(图片来自网络侵删)
研发管理

成立全职研发团队后,我们逐渐建立了非常完善的研发管理体系,提升Swoole的软件质量。
紧张包括以下几个方面:

测试驱动(TDD)

现在我们投入大量精力实现单元测试脚本、压测脚本、自动化测试,提升单元测试覆盖率。
目前已有680项测试用例,17项压测项目,在Travis-CI平台可以看到每一次Commit和Pull Request的编译、测试结果。

研发事情也基于TDD进行,在开拓新特性、重构、Bug Fix时,会先编写对应的单元测试脚本,测试覆盖到代码变更的所有场景。

代码审查(Code Review)

团队成员之间进行代码交叉审查、相互Code Review,对付代码变更的细节进行充分的评估和谈论。

重大变更,会进行团队Review,花费数小时乃至数天谈论每一行代码变更细节。

RFC 机制

对付非Bug Fix、非性能提升、非重构,新特性或有可能改变底层行为的变更,我们会分为4个步骤进行。

发起RFC的提案, ,提案内容会详细阐述此项变更的前因后果、干系配置项、影响的范围、利用方法、示例。
提案谈论,我们会对提案进行充分的谈论,刨根问底,剖析利害,考虑细节。
所有问题均谈论清楚后,终极立项,开始实现。
开拓卖力人创建git分支,编写单元测试脚本,编写代码,实现提案中的所有内容,终极发起Pull Request交叉评审,检讨代码,提出改进见地,反馈给开拓卖力人,连续完善细节。
终极合并到主干。

全体过程均是在GitHub平台公开进行的,对Swoole项目感兴趣的PHPer均可参与。

灰度测试

为了担保正式版本的稳定性,我们在发布前会在内部项目上进行灰度测试,考验新版本的稳定性。

其余我们与大部分Swoole框架作者建立了联系,新版本会先发给各大框架的作者提前试用。
有重大底层变更、或不兼容项会提前与其他Swoole之上的开源项目作者进行沟通。

总结

在过去的几年,Swoole项目做的并不是很专业,存在较多BUG和难用的地方,也让很多利用者踩到了不少坑。
最近半年景立全职研发团队后,我们在研发管理方面进步飞快,Swoole的稳定性、成熟度方面已今是昨非。
稳定性始终是第一位的,我们在未来将会更加谨慎、严谨,担保质量。

重构

2018年下半年我们对底层的代码进行了多次重构,在代码构造、可读性、复用性、封装度方面进行了很多优化。
使得Swoole软件更为简洁、优雅。

编程措辞方面,我们现在逐渐利用C++替代C措辞。
C++供应的面向工具、智能指针、容器、模板等特性能够帮助我们进一步提升团队的开拓效率。

在此也欢迎各位PHPer参与Swoole项目,贡献代码。

文档

Swoole的文档也是广为开拓者诟病的一个方面。
在2018年我们团队在文档方面逐渐加大投入。
重新编写梳理文档,加入丰富的例子程序,加入更详细的配图,修复细节问题,删除带有感情色彩的语句,更加客不雅观中立严谨。

2019 未来

新的一年我们紧张有3个方向上发力。

做减法

删除非协程的特性,删除不必要的模块,减少历史包袱,提升稳定性、降落繁芜度,减少不必要的选项,化繁为简,更大略。

Swoole内核层面仍旧会连续不断重构、精简,减少代码行数,清理冗余代码,尽可能地实当代码复用。

深入项目

在2018年底,我们已经开始逐渐与在生产环境上大量利用Swoole的企业建立联系,包括腾讯云、阅文、好未来、陌陌、优信等企业。
理解实际运用处景、业务模式,进行深度互换互助,供应建议,帮助企业技能团队更好的办理业务问题,接管反馈改进底层。

生态链

2019年我们会基于Swoole4协程开拓一些配套的工具和组件,填补PHP在Cloud Native时期生态链方面的不敷。

标签:

相关文章

php获取所有子类技巧_PHP 面向对象

在现实天下里我们所面对的事情都是工具,如打算机、电视机、自行车等。工具的紧张三个特性:工具的行为:可以对 工具施加那些操作,开灯,...

PHP教程 2024-12-16 阅读0 评论0