Skip to main content

Factors that impact quality code

· 15 min read
Pere Pages
Software Engineer
Factors that impact quality code

"Quality code" is one of those phrases everyone agrees on and nobody defines the same way. It's tempting to reduce it to clean formatting or clever one-liners, but the factors that actually move the needle operate at a much higher level: the people, the design, the process, and the feedback loops around the code.

Below is my personal ranking of the factors that impact code quality, ordered from greatest to lowest impact. The ordering is deliberate — fixing a poor team or a broken architecture will do far more for quality than tightening up naming conventions ever could.

Shells and Terminals

· 15 min read
Pere Pages
Software Engineer
Server Side Rendering

A shell is a command-line interpreter that provides a user interface for the Unix/Linux operating system. The shell interprets the commands you enter in the terminal and tells the operating system to execute them.

Analogy

Think of the terminal as a movie theater and the shell as the movie being played. The theater (terminal) provides the environment and tools (screen, seats, speakers) to experience the movie, while the movie (shell) is the actual content or the interpreter that you interact with.

My view on Pair Programming

· 4 min read
Pere Pages
Software Engineer

pair programming

Pair programming is a collaborative strategy that has gained traction in the software development world. It involves two developers working together on a single task, with one taking the lead and the other providing support. This approach is not just about sharing the workload; it's about leveraging the collective expertise to drive efficiency and quality.

My Perspective

In this article, I'll share my perspective on pair programming, exploring the key stages and strategies that underpin this collaborative approach.

  1. Task Allocation and Leadership
  2. Acceptance Criteria
  3. Exploration through Proof of Concepts (PoCs)
  4. Convergence and Decision-making
  5. Refactoring and Continuous Delivery
  6. Repeat

React.FC type

· 2 min read
Pere Pages
Software Engineer
functional component type

The usage of React.FC or React.FunctionComponent has been a subject of debate within the React community. Both approaches—using it or not—have their pros and cons.

Do not use React.FC​

IMHO, do not use React.FC or React.FunctionComponent in your codebase, only if you know you are using children props.

Architecture Decision Records (ADRs)

· 4 min read
Pere Pages
Software Engineer

ADR

In the context of software development, "ADR" stands for "Architectural Decision Record." An ADR document is a way to capture and document important architectural decisions made during the development process of a software project.

An architectural decision refers to a significant choice related to the software's architecture, design, or implementation. This could include decisions about the overall system structure, the selection of technologies, the integration of different components, or the handling of specific design challenges.