Going all in with projects that seem abandoned for a long time with not up to date dependencies, uncharted business with magic numbers flying around is.... an opportunity! An opportunity full of excitement awaiting to be taken!
Some tips to start https://abs.twimg.com/emoji/v2/... draggable="false" alt="👇" title="RĂŒckhand Zeigefinger nach unten" aria-label="Emoji: RĂŒckhand Zeigefinger nach unten">
Start from the build.gradle files to have a bird’s eye view https://abs.twimg.com/emoji/v2/... draggable="false" alt="👁" title="Auge" aria-label="Emoji: Auge"> of the tech stack used. You can gain so much insight just from these files like does the project use retrofit? Is it using androidx or it’s quite old? Does it target the latest api’s? What is the minimum supported?
Next should be the Android Manifest. You can dive in to see which activity is the main launcher. Does the project include other activities? Maybe services? Take a look around and when you are ready navigate to the main launcher to dig deeper https://abs.twimg.com/emoji/v2/... draggable="false" alt="⛏" title="Spitzhacke" aria-label="Emoji: Spitzhacke">
Another thing to keep in mind is the packaging and the layering. Does it use modules other than app? Does it rely in packages instead https://abs.twimg.com/emoji/v2/... draggable="false" alt="📩" title="Paket" aria-label="Emoji: Paket">? Are they grouped by layer, by feature or even by type ie activities, adapters ( please do not do this https://abs.twimg.com/emoji/v2/... draggable="false" alt="đŸ”«" title="Wasserpistole" aria-label="Emoji: Wasserpistole"> )?
After the initial overview start small and by keeping notes. What seems daunting at first is actually quite easy when it’s broken down into small steps https://abs.twimg.com/emoji/v2/... draggable="false" alt="đŸȘš" title="Carpentry saw" aria-label="Emoji: Carpentry saw">

Final tip search for tests and if they do not exist, you can try add some before touching the old code https://abs.twimg.com/emoji/v2/... draggable="false" alt="💣" title="Bombe" aria-label="Emoji: Bombe">
Always leave the project better than it was even by margins! It’s all about being professional and true to your work at the end of the day! https://abs.twimg.com/emoji/v2/... draggable="false" alt="🌌" title="Milchstraße" aria-label="Emoji: Milchstraße">
You can follow @G_Theocharis.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: