Aims at reducing repetition of software development information, advocating for abstractions, or using data normalization to avoid redundancy.
Inversion of control is a design pattern in software engineering where custom-written portions of a computer program receive the flow of control from a generic framework.
A design principle that emphasizes the importance of simplicity in design and development.
Design principle for separating a computer program into distinct sections, where each section addresses a separate concern.
A mnemonic acronym for five design principles in software engineering aimed at making object-oriented designs more understandable, flexible, and maintainable.
Principle stating a programmer should not add functionality until deemed necessary.
Debounce is concerned with delaying the invocation until a period of inactivity has passed, while throttle focuses on limiting the frequency of invocations to a predefined interval.
i18n is the process of designing and developing software to be adaptable to different languages and regions, while l10n involves customizing the application for specific locales.
While white-box testing is mostly done by developers and applies to lower-level testing, black-box testing is done by the QA team at higher levels.
These principles establish practices that lend to developing software with considerations for maintaining and extending as the project grows.