From 47d6f95f43fc0150b192a6179baf1858a953e6b0 Mon Sep 17 00:00:00 2001 From: Peter Gribanov Date: Wed, 30 Aug 2017 08:41:34 +0300 Subject: [PATCH] Add origin bad example --- README.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6307b22..7958a1b 100644 --- a/README.md +++ b/README.md @@ -171,26 +171,40 @@ function paintCar(&$car) { ### Use default arguments instead of short circuiting or conditionals +**Not good:** + +This is not good because `$breweryName` can be `NULL`. + +```php +function createMicrobrewery($breweryName = 'Hipster Brew Co.') +{ +    // ... +} +``` + **Not bad:** +This opinion is understandable than the previous version, but it better controls the value of the variable. + ```php function createMicrobrewery($name = null) {    $breweryName = $name ?: 'Hipster Brew Co.'; // ... } - ``` -**Good for PHP 7+**: +**Good**: + +If you support only PHP 7+, then you can use [type hinting](http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration) and be sure that the `$breweryName` will not be `NULL`. ```php function createMicrobrewery(string $breweryName = 'Hipster Brew Co.') {    // ... } - ``` + **[⬆ back to top](#table-of-contents)** ## **Functions** ### Function arguments (2 or fewer ideally)