related to a comparison of features and characteristics of products.“ „Quality is a precise measurable variable. Differences in quality reflect differences in quantity of some product attribute.“ „Quality is fitness for intended use.“ „Quality is conformance to specifications.“ „Quality is meeting or exceeding customer expectations.“ „A product that is free of defects.“
Constantly evolve the design, and architecture Concurrently add new features Principles: Emergent Design, intentional architecture, design simplicity, design for testability, prototyping, domain modeling
(just as much design as needed) Emergent Design Refactoring Knowledge of Design Patterns Application of design patterns: Not „the only solution to recurring problem“ Require a thought process Provide approaches to solve problems
the AWS region 2. Code for generating image choices 3. Code for building the form 4. Code for creating AWS launch data Simple refactorings made method intention revealing, and easy to read 1. 2. 4. 3.
language, and avoid writing tests for basic tasks. Scrutinizer is like a compiler for PHP - Control Flow Analysis - Data Flow Analysis - Abstract Interpretation - Variable Reachability - Call Graph Analysis - Live Variable Analysis Checking type safety Dead assignments/unused code Security analysis And more
- Check if variable was assigned Can only catch typos Scrutinizer‘s approach: - Run data flow analysis Different scope in each flow point - Check if variable is always defined in the flow point where it‘s used More accurate results, does not miss sometimes defined variables
to set-up a common coding style guide - Fixes many coding style issues automatically - Does not force a specific style on you - Does not depend on a specific IDE - Leaves you more time for reviewing other issues during manual review