Surprising some of their best practices aren't followed, such as hard-coding English strings instead of using something like NSLocalizedString()
(e.g. https://github.com/ResearchKit/GlucoSuccess/blob/master/Diab...)
Surprising some of their best practices aren't followed, such as hard-coding English strings instead of using something like NSLocalizedString()
(e.g. https://github.com/ResearchKit/GlucoSuccess/blob/master/Diab...)
After learning of apple's goto bug, I'm never surprised to read about apple's failure to follow best practices.
It's jarring when you see hard-coded English strings in any iOS code. Android does a much better job of pushing developers to localizing strings.
One big thing I don't like about iOS is even if you have a base language, you need to duplicate all strings in any subsequent languages. (I often have a "US English" and "Australian English", so trivial changes require changes in two files).
On Android, the language files extend the base file, so you can just override favourite/favorite labour/labor type strings without having to duplicate everything.
(Obviously you can script / auto-generate language files, but that's not the default position).
Separately, I find that people tend to assume (for some reason?) that big successful companies that write lots of software will also write quality software. They have the money for it!
But its often not the case. Look at Microsoft in the late 90s.
Look at Apple these past few years.
Maybe the people at the top sometimes feel they no longer _need_ to write quality software, because they are at the top?
The goto fail bug is a singular mistake, but I'm not convinced it was an isolated mistake. I've worked with teams of amateurs that had code quality practices sufficient to prevent such a bug; and yet apple included this in a product, and left it there for a long time before it was fixed. It suggests, to me, organizational issues.