Golang Package Conventions

This article was written in reference to the Go blog “Package Names” and several Go package convention resources. Key Tenets of Package Conventions Go’s package convention does not prescribe strict rules for directory structure or architecture instead, it presents the following key principles: 1. Organize Packages by Responsibility Avoid putting all types in a single package such as interfaces or models. Instead, organize packages based on the responsibility of their domain, following the “Organize by responsibility” principle. For example: ...

February 15, 2025 · 1 min · 205 words · In-Jun Hwang

PR (Pull Request) Review Guide

Introduction PR reviews are an essential activity for collaboration. By reviewing PRs, we can improve the quality of code and facilitate smoother communication among team members. In this post, we’ll explore the things to keep in mind and the best practices to follow when performing a PR review. Purpose of PR Reviews The main purposes of performing a PR review are: Improve code quality: By reviewing code from the perspective of another developer, we can write better code. Early detection of bugs and potential issues: By having multiple eyes on the code, we can spot issues that the author may have missed. Share knowledge: The code review process allows team members to share their knowledge and experiences with each other. Maintain consistency: We can ensure that the team’s coding style and conventions are being followed consistently. PR Review Checklist To ensure an effective PR review, the following aspects should be checked: ...

July 31, 2024 · 3 min · 439 words · In-Jun Hwang

Git Branch Naming: For Effective Collaboration

Introduction Git is an essential version control tool in modern software development. Effective Git usage involves systematic branch management, and following a consistent branch naming convention is a crucial part of it. In this post, we will discuss the fundamental rules and best practices for Git branch naming. Basic Naming Conventions Here are the basic branch naming conventions: Use lowercase: Branch names should always be in lowercase. Use hyphens (-): Separate words with hyphens. Be concise: Keep branch names concise but descriptive. Use English: Favor English for global accessibility. Example: feature-user-authentication ...

July 23, 2024 · 2 min · 331 words · In-Jun Hwang

Effective Git Commit Management: Beyond Clean Code to a Clean History

Introduction Version control systems, particularly Git, have become indispensable tools in modern software development. However, merely using Git is not enough. Effective commit management practices significantly impact project success and team productivity. In this article, we will explore how to manage Git commits more effectively. Specifically, we will focus on three key strategies: applying the Single Responsibility Principle, committing frequently, and reviewing commits before pushing. 1. Apply the Single Responsibility Principle Apply the Single Responsibility Principle (SRP), one of the SOLID principles of software design, to your Git commits. ...

July 13, 2024 · 3 min · 581 words · In-Jun Hwang

Effective Commit Message Writing Guidelines

In software development, version control is an essential aspect. Among its various components, commit messages play a pivotal role in maintaining project history and facilitating seamless team collaboration. Well-written commit messages not only ease code reviews but also simplify bug tracking and enhance the overall quality of a project. In this article, we will delve into the guidelines for writing effective commit messages and explore their significance. 1. Separate Subject from Body: Convey Crisp Information A commit message should be structured with a subject and a body. This enables a quick grasp of the gist and allows for detailed inspection when necessary. ...

July 12, 2024 · 4 min · 686 words · In-Jun Hwang