DEV Community

Michael Davis
Michael Davis

Posted on

1

The Case for Function Trees

A little intro...

I am currently enrolled in Flatiron School's Software Engineering bootcamp. At the time of posting this, my cohort is finishing up Phase 1 of the program (JS Basics) and preparing to enter Phase 2 (React Framework). In light of this, I think it's a great time to review some productivity tools!

Whether you are a beginner, jr., or sr. dev...

You've likely been involved in countless projects (software or otherwise) where there is a clear set of expected deliverables at the end of the project. You've also likely come across a myriad of different productivity tools to help build a roadmap for executing these deliverables. These tools might include:

  • Flow charts
  • Layout diagrams
  • Outlines
  • Word webs

In software engineering...

Visual and conceptual productivity tools come in handy at different times for different goals, tasks, and audiences. Therefore, it's very important to understand what tools are useful to you and your teammates, dependent on the circumstances. Knowledge of the strengths of each tool can yield huge improvements in operating efficiency by reducing the need for clarification.

As I mentioned in my intro...

I am entering Phase 2 of my coding bootcamp, which will cover the React Framework. From what I've been told, React engages a more conceptual approach to development, as opposed to the syntax- and fundamentals-heavy stages of learning the web development basics.
Though I'd never rule out the use of any of the aforementioned productivity tools, I have a feeling that I'll be using one other tool more often: THE FUNCTION TREE

Image description

According to Wikipedia...

"A function tree is a diagram showing the dependencies between the functions of a system. It breaks a problem (or its solution) down into simpler parts. When used in computer programming, a function tree visualizes which function calls another."

So, I could see this being a very useful tool for taking the list of deliverables, and:

  1. Conceptualizing the functions
  2. Figuring out the order of function declaration
  3. Mapping out the functions based on priority, scope, nesting, variable reassignment, etc.
  4. Be able to refer back to this and possibly rearrange the function tree or create multiple function trees to cover different branches of the project

...and do all of this in a way that is easily communicable across an entire project team. 10/10

In conclusion...

I'm looking forward to using this function tree visual tool as I learn React and beyond!

Sources(LOL):
https://en.wikipedia.org/wiki/Function_tree

Sentry blog image

How to reduce TTFB

In the past few years in the web dev world, we’ve seen a significant push towards rendering our websites on the server. Doing so is better for SEO and performs better on low-powered devices, but one thing we had to sacrifice is TTFB.

In this article, we’ll see how we can identify what makes our TTFB high so we can fix it.

Read more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay