Modules of an app
Strategy

How to Get Familiar With A New Codebase


As a developer, let’s assume you just got a new job and you are finding it hard to settle in and start working on your new team’s codebase. In this article, we discuss some of the tricks that can help you familiarize with a new codebase faster.

These tips and tricks are a summary after intense research and consulting with some field developers in the industry. They are also inspired by my new job at Instamobile. There’s no magic here, just practical and efficient steps in getting you familiar with a new codebase as fast as possible.

This article will as well help you as a developer to maintain a sane codebase for the next developer that will take on your good work. Let’s jump right in

Run the App as An End-User

You should run the live app and look out for app functions, you should scan through the app looking out for possible modules that the code could be divided into. Such modules could be onboarding, chat, home module and so on.

For the frontend devs, you want to be looking out for menus, bottom navigation, drawers, or any widgets that hold the whole app into one piece.

Some of the time, you will be working on one module at a time so your focus should be on that one module and you could mentally break it down into submodules.

Modules of an app

Looking at the image above I can immediately identify some of the major modules of the entire application and I know what modules of the app to look out for when I dive into the codebase and start working on improvements.

Dive Into the Documentation

Now that you’re done disintegrating the app mentally into separate modules, you want to dive into the code and look out for any form of documentation that exists prior. I personally categorize documentation into low-level documentation and high-level documentation.

High-level documentation would refer to the requirement documentation, architecture design and technical documentation.

For the low-level documentation, you should look out for some naming conventions, comments, and folder arrangement.

A folder arrangement

The above image displays a typical self-documented folder arrangement and already tells me where to find code for the screens, the state managers, navigation, major app components and even the general app styles.

Study the Code and Ask Questions

The goal here is not to bug down your current team with questions. You have to do a lot of study on the codebase yourself given that there’s a lot of information on the codebase and system you’ll be working on.

The importance of study cannot be overemphasized. A little amount of study can yield to tremendous benefits and help you take initiative on new project ideas, refactoring, improvements on the codebase.

It is advised to only ask questions of crucial relevance in order not to come off as a pain in the ass to your new colleagues/team. I have a colleague that insists that no question is too stupid in programming and I totally agree with him on this.

It is a great quality of a developer not only to ask questions but to ask the questions right that means framing the question in such a way that you get a helpful answer.

Rewrite

In extreme conditions, you might want to rewrite some or all of the codebase that you would be working on. This should be in cases where the codebase is going to cause extra problems for both you and devs that will work on the same codebase in the future.

This could cost your new company a lot of time and effort to achieve and this should be the last resort. Trust me you should discuss real long with your supervisor on the pros and cons of rewriting some or all of the modules of the codebase you’re in charge of.

Conclusion

These tricks can be applied one module at a time and then use the tricks acquired and apply to other modules of the codebase.

It is also of extreme importance for you as a developer to maintain a close to pristine codebase as you can so as not to make another developers’s life a nightmare.

Getting started on a new codebase can be very tricky and difficult for anyone settling into a new team and learning a new codebase but I hope this article helps you make it enjoyable venture trying to familiarize yourself with a new codebase.



Source link

Post image
Strategy

Color pallet selection rationale [SpaceX] : webdev


Post image

(From the Dragon Crew Demo 2 mission)

I have seen a lot of these high stake operations(mostly in movies) using software screens which have such blue backgrounds with a peculiar font type – like hackers in movies breaking into a government facility, screens in NASA, SpaceX, and such.

Is there a scientific/logical reason behind this? If yes, can having such screens for UI make something like an inventory management system or an ERP system more productive/efficient?

I am looking for resources that gives you the reason and the background to make such futuristic UIs, if I may call it so.



Source link

Post image
Strategy

[Showoff Saturday] Bingo with a Twist


Made a fun project for public bingo games with a twist. Bingo games are based on upcoming events and instead of numbers, use predictions on what will happen during the event. For example, the PS5 reveal event is coming up and you can mark down your predictions and see if you can fill your board. Right now I have the games set up as only the user that makes the event (owner/moderator) can add values that players can choose from. I’m thinking of changing that to just have the players that join the bingo event the ability to fill in their own board. As the title says this is very alpha build. Do you have any feedback for me? Let me know if there is anything I should change to this, or if this is a project I should continue pursuing. The site is PartyDingo.com

Post image



Source link

Post image
Strategy

Font style vs typeface/font : graphic_design


Hi everyone. I’ve been tasked with creating a presentation and was provided with a style guide to use when making color and font choices. Below is a sample of the “font style” I am provided. I am confused as to the difference between font, font style and typeface. Am I free to use any typeface so long as Headings are bolded and body text is ‘regular’? Thanks in advance!

Post image



Source link