有没有谁研究过Discuz的源码,感觉很多地方完全函数式编程,代码太长,完全懵了
高洛峰
高洛峰 2016-11-03 10:28:46
0
1
578

有没有谁研究过Discuz的源码,感觉很多地方完全函数式变成,代码太长,完全懵了

跟现在的php规范不一样,加载规范就不说了,一个文件写的乱七八糟,从上到下,什么都有。

./source/module/forum/forum_viewthread.php

比如这个文件。

并且很奇怪为什么Discuz是开源的,但是为什么代码一行注释都没有,并且很多语句感觉像是被压缩过一样。

希望大神指点一下,谢谢。


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(1)
三叔

Dz应该做过把代码规范化的努力的。从早期演化到现在的代码中可以看出来。比如代码、模板、静态文件(图片、脚本)等目录存储;代码中各类文件与功能模块文件也分类存储;支持本地化的多语言包;从以前几十个入口网址已经简化成了十几个;其官方有页面也专门对编码规范做了要求。

但可能受限于各版本历史累积,很多地方仍然不能尽如人意。
比如,表面上已经做到了代码与界面的分离,但其实还没有。用户个人信息编辑功能你会发现相当多的前端代码也触目惊心地嵌在一堆PHP代码当中。假如有什么需求要调整这部分代码,需求稍复杂些,就会让维护这部分代码的程序员生不如死。
比如,为了兼容各PHP版本以及历史版本的遗产,一些过程代码与类对象的代码掺杂在一起。核心函数库文件 function_core.php 中的很多函数其实已经规范地写成了对应的类方法。但不知是不是为了方便暂时过渡,这些过程函数仍然在使用,只是其实现代码大部分删除,直接调用了相关类的方法。

估计Dz的发展路径最终是要废除这些过程方法,全部用类实现,最终不再有 source/function 这个子目录。同时最终简化成一个文件入口。只是后来社区、微博、微信等陆续地崛起,论坛也开始没落。在Dz被收购后,最终没有完成也无人有心完成这些没有太多商业价值的目标了。


Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal