-2

I am fairly new to project management of iOS development projects and I have been working on my first challenge. I am trying to make proactive use of tools that will increase software quality. I have two questions:

a.For iOS development, do you think CLANG Static Code Analysis tool will help increase the code quality and effectively help us detect bugs early on?

b. What other tools would you recommend to increase our software quality for iOS Development?

The question is not "Should I do static analysis" but rather, "Is CLANG effective (not generating too many false positives, not providing warnings that the compiler could also pickup)? And "Are there any other tools that is worth using for increasing code quality?".

Cheers..

Taner

Tanner
  • 15
  • 3
  • Xcode comes with the clang static analyzer built in. Just build for Analyze. You can control it with a scheme if you need to. You can also have it run every time you compile as well (though I find it annoying). – ahwulf May 08 '15 at 17:33
  • Manty Thanks for your reply. My question is really whether clang is useful or whether it generates lots of false positives or gives warnings that the compiler could also give. Do you have any feedback about those aspects? – Tanner May 10 '15 at 07:17
  • It gave a lot more info in the old days of manual retain and release. These days the compiler (under ARC) itself tells you a lot of what you might expect only the analyzer to do. In my code today all the analyzer ever complains about is unused variables. I don't see much else, false or otherwise. – ahwulf May 11 '15 at 12:54

1 Answers1

2

A very important aspect of software quality and stability is unit testing. Unit testing will easily help identify bugs and crashes, although it is not a silver bullet or a cover all solution. Unit testing is part of the Xcode toolset now and can be run right from within Xcode. If you have a large project, i.e. more than 2-3k lines of custom code I definitely would use unit testing to some degree. There are hundreds of tutorials online that will teach you how to properly conduct unit testing within Xcode.

If you are working with a team of developers and team members are constantly committing changes to the project, you could integrate continuous integration into your development cycle. Continuous integration will has many features that will improve the quality and stability of the code base. In Xcode 5 Apple introduced Xcode server which is a way to integrate continuous integration right through Xcode. Check the Apple documentation to learn more about it.

Apple Xcode Server and Continuous Integration Guide

Michael
  • 6,561
  • 5
  • 38
  • 55
  • Thanks for your reply Nikita. I have only one developer working on the project but I will look into the continuous integration tool available in Xcode. – Tanner May 10 '15 at 07:29