5 ms·
You might want to consider renaming this project. The NS prefix is reserved by apple for framework classes. The entire purpose of prefixing classes in Cocoa is
by macrael 14y ago
You might want to consider renaming this project. The NS prefix is reserved by apple for framework classes. The entire purpose of prefixing classes in Cocoa is to prevent namespace collisions between different organizations, which using NS outside of apple breaks. It doesn't actually look like you are using the NS prefix in any of your code, so you're not technically violating the below rule, but I still think it worth considering. NS kindof means "from apple".
"Objective-C classes must be named uniquely not only within the code that you’re writing in a project, but also across any frameworks or bundles you might be including. As an example, you should avoid using generic class names like ViewController or TextParser because it’s possible a framework you include in your app may fail to follow conventions and create classes with the same names.
In order to keep class names unique, the convention is to use prefixes on all classes. You’ll have noticed that Cocoa and Cocoa Touch class names typically start either with NS or UI. Two-letter prefixes like these are reserved by Apple for use in framework classes...
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. As an example, if your company were called Whispering Oak, and you were developing a game called Zebra Surprise, you might choose WZS or WOZ as your class prefix."
http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/ProgrammingWithObjectiveC/Conventions/Conventions.html http://developer.apple.com/library/ios/#documentation/cocoa/...
In practice many people use two letter prefixes for their classes, you should use a prefix with your classes!
The project looks great, I've been wishing for a more comprehensive logging system with filtering built in for a while now. Thanks!
- GuiA 14y agoSide question: Did NS initially stand for NextStep, or am I completely off?
- weaksauce 14y agoThat's exactly what it is named.
- deleted 14y ago[deleted]
- i386 14y agoFrom what I have read, the prefix used to be NX* in the NeXTSTEP days and was changed to NS* around the time OpenStep came on the scene.
- millerm 14y agoActually, I believe the actual prefix of NS originally meant Next/Sun whe Next was working with Sun Microsystems. But, who knows? We need one of the original developers to help clear this up.
- mparramon 14y agoYes: http://stackoverflow.com/a/473866/687355 http://stackoverflow.com/a/473866/687355
- Zev 14y agoThe project itself is the only thing that uses the NS prefix. The classes within the project have the (rather long and safe) prefix of "Logger".
- MaxGabriel 14y agoI agree with Zev on this. There's no harm if the code itself doesn't use the `NS` prefix -- the concern in the rest of the comments is overblown.
- to3m 14y agoIt's not really a prefix, though, because there's a struct called "Logger", and there are some enums that begin with 'k', and there's a #define called "ALLOW_COCOA_USE", just like something somebody might put in their own code. If you're writing a library, you really need to prefix absolutely every last stupid symbol, right down to the header include guards. If you don't, even if they don't end up conflicting with something, you'll have people like me moaning about it. (But I don't moan about it because it's never caused me a problem in the past.) Looks like a neat library though!
- umrashrf 14y agoWhen I used this tool, I found it exactly what I was looking for. Although at first looking at the name I didn't think it would do the job so renaming it to something that says "a network logger" Examples: NLogger, CNLogger (Cocoa Network Logger), etc