康盛创想产品的程序架构和代码风格为什么这么复古,还在石器时代?
话说我也写了这么多年php了,怎么都不算菜鸟。但是每次看康盛产品的代码还是头晕眼花——视图里夹杂sql,各种狂野的判断,面向过程,分明就是复古10年前的代码风格。这样的代码做二次开发可不简单,如果说为了兼容以前的代码也说不通,因为新出的几款产品依然按照以前的程序架构。
它们自己的技术人员的看这样的代码不蛋疼吗
康盛的理念是把代码的运行效率放在第一位,对代码的可维护性不怎么重视?
dz去除注释,目的就是为了增加源码阅读难度,这个不说。。
代码风格非常糟糕。帮朋友调页面改过一次它的css,看代码看得泪奔,各种一个字两个字的命名……
二次开发,扩展性极差
说实话,写了N年程序,Discuz代码我是下了十几次决心才敢开始阅读的。因为这套代码实在非常丑陋。
我的朋友一直和我有一个争论,他坚持认为discuz发布出来的代码一定是代码生成器生成出来的,内部开发的时候一定是另外一种结构。因为他认为discuz代码的可读性已经远远超过了正常人理解能力。
虽然康盛一直试图改进代码结构,在最新的Discuz!X中,我们看到他整齐的把function, class, plugins放在各自的目录里,虽然采用php5,也采用MVC框架,
代码中仍然充斥着global, require_once等等,php文件中充斥着html,css等系统底层紧耦合且效率低下的糟糕写法。
由于没有彻底运用MVC框架,也不面向对象,导致了插件机制难以实现,二次开发举步维艰。其实这对二次开发团队成员,也造成了单元测试的困难吧。?
貌似Dx2.5有所改观,那只是底层代码,核心功能模块仍然还是老样子。。
建议康盛创想技术人员好好学习和借鉴国外的框架和思想。。看看zend framework wordpress,是怎么写php的
|