ibireme / YYKit

A collection of iOS components.
MIT License
13.99k stars 3.69k forks source link

YY亲,可以把所有的YYKit中的所有方法都加上前缀:yy 吗? 否则冲突太严重了!YYKit 1.2.0 把所有的方法都加上 yy 前缀可以吗? #137

Closed HeroOnline closed 8 years ago

HeroOnline commented 8 years ago

YY亲,可以把所有的YYKit中的所有方法都加上前缀:yy 吗? 否则冲突太严重了!

lianweiqin commented 8 years ago

这里已经解释过了:https://github.com/ibireme/YYKit#注意

我希望调用 API 时,有着和调用系统自带 API 一样的体验,所以我并没有为 Category 方法添加前缀。我已经用工具扫描过这个项目中的 API,确保没有对系统 API 产生影响,但即使这样没有前缀的 Category 也可能会带来其他麻烦。因此我不太推荐直接使用 YYKit 这个库,你应该先尝试一下上面那些拆分出来的独立组件。 拆分出来的那些独立组件,基本都是加了前缀的。

同样的issue 提两遍好醉..看不下去了...

如果实在觉得冲突多. 自己fork一下或者自己起一套新的扩展吧.

HeroOnline commented 8 years ago

YY亲,就是使用 独立的模块 , 基本都是加了前缀的。有很多没有加前缀的就冲突了,YY亲,是否考虑把所有的方法名都加上 yy_ 前缀

ibireme commented 8 years ago

首先,YYModel、YYCache、YYImage、YYWebImage、YYText 等这几个组件是有前缀的,一般使用不会与其他任何库产生冲突。这几个组件是单独的项目,每个组件都有一个明确的功能,可以单独使用。

YYKit 这个库很大,正常开发时一般不会用到这么多功能,所以我也不推荐直接使用这个库。这个库是作为我自己的代码库,方便我自己使用的,我有能力控制每个我自己的项目,不会产生冲突。即使有命名冲突,如果方法逻辑一样,那也完全没问题。另外,有些 Category (比如这个)为了实现功能本身就是不能有前缀的。

如果你的项目真的因为引入 YYKit 这个包导致冲突,那我建议你检查一下你的项目代码,里面应该有很多冗余和不合理的地方。第三方库的使用应该谨慎一些,没必要的功能不要引用进来。

上面这些内容 readme 里已经提到了。另外,这个问题你已经提了两遍了!