8. 醜悪なコードではなく複雑な仕様だった[1]
<?php
namespace Example¥Kireina¥Code;
use Kireina¥Code¥A;
class KireinaClass
{
private $a;
public function __construct(A $KireinaArg1)
{
$this->a = $KireinaArg1;
}
public function KireinaMethodA()
{
return $this->a;
}
}
<?php
namespace Example¥Kitanai¥Code;
use Kitanai¥Code¥A;
use Kitanai¥Code¥B;
use Kitanai¥Code¥C;
class KitanaiClass
{
private $a;
private $b;
private $c;
public function __construct(A $kitanaiArg1, B $kitanaiArg2, C $kitanaiArg3)
{
$this->a = $kitanaiArg1;
$this->b = $kitanaiArg2;
$this->c = $kitanaiArg3;
}
public function KitanaiMethodA()
{
return $this->a;
}
public function KitanaiMethodB()
{
return $this->b;
}
public function KitanaiMethodC()
{
return $this->c;
}
}
<?php
namespace Example¥Kireina¥Code;
use Kireina¥Code¥A;
class KireinaClass
{
private $a;
public function __construct(A $KireinaArg1)
{
$this->a = $KireinaArg1;
}
public function KireinaMethodA()
{
return $this->a;
}
}
機能の復元
ヘルパーコード
データチェック
<?php
namespace Example¥Kireina¥Code;
use Kireina¥Code¥A;
class KireinaClass
{
private $a;
public function __construct(A $KireinaArg1)
{
$this->a = $KireinaArg1;
}
public function KireinaMethodA()
{
return $this->a;
}
public function TuikanoHelperCode()
{
return;
}
public function TuikanoKinouCode()
{
return;
}
public function TuikanoDataCheck()
{
return;
}
}
≒
[1] Chris Birchall著, 吉川 邦夫訳, レガシーソフトウェア改善ガイド 複合型アプリケーション時代に即した開発・保守技法, 翔泳社, 2016
<?php
namespace Example¥Kitanai¥Code;
use Kitanai¥Code¥A;
use Kitanai¥Code¥B;
use Kitanai¥Code¥C;
class KitanaiClass
{
private $a;
private $b;
private $c;
public function __construct(A $kitanaiArg1, B $kitanaiArg2, C $kitanaiArg3)
{
$this->a = $kitanaiArg1;
$this->b = $kitanaiArg2;
$this->c = $kitanaiArg3;
}
public function KitanaiMethodA()
{
return $this->a;
}
public function KitanaiMethodB()
{
return $this->b;
}
public function KitanaiMethodC()
{
return $this->c;
}
}
8