首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
Swoole的C源代码质量太差了,忍不住吐槽,Rango要重视呀!
最近在看Swoole的源代码,发现Swoole的C源代码质量太差了,忍不住吐槽! 1 代码比较庞杂,有些功能比如table,aio,感觉不是必须的, 越来越复杂了,看看人家云风的skynet吧,那代码质量没得说, 举个例子吧, lock只用了2行代码: {{{ #define LOCK(q) while (__sync_lock_test_and_set(&(q)->lock,1)) {} #define UNLOCK(q) __sync_lock_release(&(q)->lock); }}} 2. 变量命名规范差,一会大写,一会小写, 代码里面的定义的version有多处,还不一致; 3. 接口定义完全不能复用, 耦合性强,逻辑不清晰,实现不简洁; 4. sample例子又多又乱; 5. bug多,使用配置复杂; 开源项目,是给很多人用的,要讲究质量和规范,否则你写了一坨,只有你自己玩,自己喜欢用, 价值大打折扣。另外swoole底层直接用libuv不好吗,为什么要重复造轮子?
发布于10年前 · 1 次浏览 · 来自
提问
q
qiuqiu
最近在看Swoole的源代码,发现Swoole的C源代码质量太差了,忍不住吐槽! 1 代码比较庞杂,有些功能比如table,aio,感觉不是必须的, 越来越复杂了,看看人家云风的skynet吧,那代码质量没得说, 举个例子吧, lock只用了2行代码: {{{ #define LOCK(q) while (__sync_lock_test_and_set(&(q)->lock,1)) {} #define UNLOCK(q) __sync_lock_release(&(q)->lock); }}} 2. 变量命名规范差,一会大写,一会小写, 代码里面的定义的version有多处,还不一致; 3. 接口定义完全不能复用, 耦合性强,逻辑不清晰,实现不简洁; 4. sample例子又多又乱; 5. bug多,使用配置复杂; 开源项目,是给很多人用的,要讲究质量和规范,否则你写了一坨,只有你自己玩,自己喜欢用, 价值大打折扣。另外swoole底层直接用libuv不好吗,为什么要重复造轮子?
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2016-06-05
野
野蛮体魄
又一大神来指导了
赞
0
回复
2016-06-05
呵
呵呵
### 代码质量 你可能想要表达的是代码规范。质量是指这段代码的BUG率和性能。凌乱的代码没有BUG性能很好质量也是高的,写的再漂亮的代码有BUG性能差也是低质量的。 代码规范化,这个事情是我们团队一直在努力做的一件事情。Swoole项目发展至今才2年多时间,代码规范还没有完全建立起来。需要较长时间的积累。 ### 复用性 复用性是所有软件工程的难题,Swoole短期之内也无法做到很完美。我们一直在提升程序的复用性。 ### 关于libuv 为什么不用libuv,主要原因是我不喜欢它的代码风格。我认
赞
0
回复