Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ease software structural quality on Android

Applidium
December 03, 2015

Ease software structural quality on Android

A glimpse into the static analysis tools from the Java or the Android world you may use to improve the software quality of your Android applications.
Presentation made for Paris DroidCon 2015 by Vincent Brison, software engineer at Applidium.
Video available here: https://www.youtube.com/watch?v=hStcOnC4M7c

Applidium

December 03, 2015
Tweet

More Decks by Applidium

Other Decks in Technology

Transcript

  1. Why software structural quality ➔ Deliver great applications, which evolve

    fast with many updates is a challenge when working in a team. ➔ Maintaining great code across the months can be difficult when deadlines are close and projects need to ship. How developers can use at their advantage several tools from the java world to be able to improve the structural quality of their code.
  2. Checkstyle ➔ “Checkstyle is a development tool to help programmers

    write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task.” ➔ Define and maintain in a very precise and flexible way the coding standards of a project.
  3. Findbugs ➔ “FindBugs uses static analysis to inspect Java bytecode

    for occurrences of bug patterns.” ➔ Findbugs basically just need the bytecode of a program to do the analysis. ➔ Can find issues such as common bug patterns.
  4. PMD ➔ Pretty Much Done, Project Meets Deadlines… ➔ Same

    goals as Findbugs, but working without bytecode. ➔ If Findbugs and PMD share globally the same goals, their inspecting methods are different
  5. Android Lint ➔ “The Android lint tool is a static

    code analysis tool that checks your Android project source files for potential bugs and optimization improvements for correctness, security, performance, usability, accessibility, and internationalization.” ➔ Dedicated to Android. ➔ Can check both your application source code and its resources.
  6. Continuous integration ./gradlew app:check ➔ Easy to integrate from the

    CLI. ➔ Server side : ◆ Can be included into .yml for Travis, or in bash script executed on Jenkins. ➔ Clide side : ◆ Can be added to git hooks like pre-commit.