Staying sane in a school project

This semester, I am doing a project with a couple of school mates, all of them new to web development. Here are some tools that I implemented to minimize time wasted on unnecessary annoyances.

Staying sane in a school project

This semester, I am doing a project with a couple of school mates, all of them new to web development. Here are some tools that I carried over from Staizen to minimize time wasted on unnecessary annoyances.

Naming Convention and Style Guide

You might think a style guide is lame and not important. Wait until one of your teammates is using tabs 6 and another is using space 2. Having a consistent style guide will reduce all the frustration from unnecessary git conflicts, inconsistent coding styles and generally makes everyone's code easier to read.

But where do I start?
Airbnb has a style guide completed with a .editorconfig file. Follow that and you will be fine. But make sure all of your teammates have .editorconfig support for their text editors too. The naming conventions here can also be followed to have a consistent naming scheme.

Preventing Broken Code

In my previous posts, I painted a picture of how I feel about people who push broken code and breaking the dev branch for everyone. I am glad to say, with Husky, it is a solved problem. With Husky, I can setup GitHooks and will automatically be configured when my teammates run npm install. This means I can run a npm run build right before they push their code to the remote, forcing the linter to catch any obvious syntax errors in coverage.

However, this is still a problem with non-npm projects. But with githooks on the server or a simplified GitHub Action build, this is not a hard problem to resolve.

Feature Branches

I once wrote about Feature Branches. It is not a hard concept to understand or a difficult task to carry out. Now that some of my school mates are using this for the first time, they finally see the value in it.

Once, my school mate told me "Xing Zhi, Git branches are too much work for students to learn". Now that we are not resolving merge conflicts every 8 hours like previous semesters, I consider this is a win.

Pair Programming

Since I am the team lead for the project, I offered my team the chance to pair up and work on a task together. Some wanted and some declined. The code quality of the pair is significantly higher than those who worked alone. This might be something you want to look into if your school team is underperforming.


So that is it! What other tips do you have? Feel free to hit up and share with me on LinkedIn.

Xing Zhi Lim posted on LinkedIn
For my fellow IT students, I wrote a little something to help you stay sane a little more sane during your school project:https://lnkd.in/diGPPgX#students...

Photo by mikoto.raw from Pexels