HTMLReader icon indicating copy to clipboard operation
HTMLReader copied to clipboard

Class name prefix?

Open congsun opened this issue 7 years ago • 7 comments

Hi all the contributors to the HTMLReader project,

Thanks for your hard work on such a great project! I'm suggesting we should put prefix on the class names since HTMLxxx is too general and I'm pretty sure I'm not the only one having naming conflicts with other classes in the project. That would be a lot of work on both sides but I believe it's better for the long run. What do you guys think?

Cong

congsun avatar May 23 '17 15:05 congsun

Hello!

Which projects are you aware of that suffer from name collisions?

I kinda consider HTML the class prefix for HTMLReader. When I started this project I looked around to see if anyone else was using it. I didn't find anyone, so I proceeded to use it. Didn't seem too general at the time!

But I'm not surprised to hear that there's some clashing, and in principle I'm for eliminating pointless friction.

nolanw avatar May 25 '17 22:05 nolanw

I would agree that HTML is probably too generic for use as a class prefix, and is likely to cause issues in some projects (e.g., if Apple were to introduce some HTML classes into Swift's standard library). Apple's Objective-C Conventions also state that class prefixes should be 3 letters:

"Your own classes should use three letter prefixes. These might relate to a combination of your company name and your app name, or even a specific component within your app."

rval avatar Oct 22 '17 19:10 rval

I’m not sure they meant "and only three letter prefixes". The immediate context for the snippet you quote is:

Two-letter prefixes like these are reserved by Apple for use in framework classes.

Besides, I can’t think of a reasonable three letters to choose as a prefix ;)

Anyway, my stance is to leave it be until someone can point to a project that’s causing conflicts. Once that happens I’m open to working something out.

nolanw avatar Oct 22 '17 20:10 nolanw

Totally reasonable. And thank you for this library. It's been completely rock solid and saved me a ton of time!

rval avatar Oct 24 '17 02:10 rval

You’re quite welcome!

nolanw avatar Oct 24 '17 02:10 nolanw

I do have a naming conflicts with pod 'TapjoySDK' with following message:

duplicate symbol _parseNumber in: /Users/user/Library/Developer/Xcode/DerivedData/MyProject-dccczrsfcebodlhhgwfuljlwdtfq/Build/Products/Debug-iphoneos/HTMLReader/libHTMLReader.a(HTMLSelector.o) Pods/TapjoySDK/TapjoySDK_iOS_v11.12.2/Libraries/Tapjoy.embeddedframework/Tapjoy.framework/Tapjoy(Tapjoy) ld: 1 duplicate symbol for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)


Please add a prefix :)

lurui1029 avatar May 30 '18 08:05 lurui1029

@lurui1029 I'ma move that to a new issue if that's alright! #85

nolanw avatar May 30 '18 22:05 nolanw