Bazı PHP fonksiyonları üzerinden gidiyordu ve ben aşağıdaki fark yardımcı olamazdı:
<?php
function foo(&$var) { }
foo($a); // $a is "created" and assigned to null
$b = array();
foo($b['b']);
var_dump(array_key_exists('b', $b)); // bool(true)
$c = new StdClass;
foo($c->d);
var_dump(property_exists($c, 'd')); // bool(true)
?>
array_key_exists()
Ve property_exists()
fonksiyonuna dikkat edin . Birincisinde, özellik adı (bir dizi için anahtar) ilk parametredir, ikincisinde ikinci parametredir. Sezgisel olarak, onların da benzer bir imzası olmasını bekleriz. Bu karışıklığa yol açabilir ve bu tür düzeltmeler yapılarak geliştirme süresi boşa gidebilir.
PHP veya bu konudaki herhangi bir dil, ilgili işlevlerin imzalarını tutarlı hale getirmeyi düşünmemeli midir?