Browse Definitions :
Definition

DRY principle

The DRY (don't repeat yourself) principle is a best practice in software development that recommends software engineers to do something once, and only once. The concept, which is often credited to Andrew Hunt  and David Thomas, authors of "The Pragmatic Programmer," is the tongue-in-cheek opposite of the WET principle, which stands for "write everything twice."

According to the DRY principle, every discrete chunk of knowledge should have one, unambiguous, authoritative representation within a system. The goal of the DRY principle is to lower technical debt by eliminating redundancies in process and logic whenever possible.

Redundancies in process

To prevent redundancies in processes (actions required to achieve a result), followers of the DRY principle seek to ensure that there is only one way to complete a particular process. Automating the steps wherever possible also reduces redundancy, as well as the number of actions required to complete a task.

Redundancies in logic

To prevent redundancies in logic (code), followers of the DRY principle use abstraction to minimize repetition. Abstraction is the process of removing characteristics until only the most essential characteristics remain.

An important goal of the DRY principle is to improve the maintainability of code during all phases of its lifecycle. When the DRY principle is followed, for example, a software developer should be able to change code in one place, and have the change automatically applied to every instance of the code in question.  

This was last updated in June 2018

Continue Reading About DRY principle

Networking
  • packet filtering

    Packet filtering is the process of passing or blocking data packets at a network interface by a firewall based on source and ...

  • WAN (wide area network)

    A wide area network (WAN) is a geographically distributed private telecommunications network that interconnects multiple local ...

  • network protocol

    A network protocol is a set of established rules that specify how to format, send and receive data so that computer network ...

Security
  • FIDO (Fast Identity Online)

    FIDO (Fast Identity Online) is a set of technology-agnostic security specifications for strong authentication.

  • Cloud Security Alliance (CSA)

    The Cloud Security Alliance (CSA) is a nonprofit organization that promotes research into best practices for securing cloud ...

  • quantum supremacy

    Quantum supremacy is the experimental demonstration of a quantum computer's dominance and advantage over classical computers by ...

CIO
  • transaction

    In computing, a transaction is a set of related tasks treated as a single action.

  • lean management

    Lean management is an approach to managing an organization that supports the concept of continuous improvement, a long-term ...

  • device ID (device identification)

    A device ID (device identification) is an anonymous string of numbers and letters that uniquely identifies a mobile device such ...

HRSoftware
  • talent pool

    A talent pool is a database of job candidates who have the potential to meet an organization's immediate and long-term needs.

  • diversity, equity and inclusion (DEI)

    Diversity, equity and inclusion is a term used to describe policies and programs that promote the representation and ...

  • passive candidate

    A passive candidate (passive job candidate) is anyone in the workforce who is not actively looking for a job.

Customer Experience
  • product-qualified lead (PQL)

    A product-qualified lead (PQL) is an individual or business that experienced value from using a product as a result of a free ...

  • marketing-qualified lead (MQL)

    A marketing-qualified lead (MQL) is a website visitor whose engagement levels indicate they are likely to become a customer.

  • customer success

    Customer success is a strategy to ensure a company's products are meeting the needs of the customer.

Close