例如,在 PHP 或其他松散类型的语言中,我可以有一些这样的代码:
/* PSEUDOCODE based on PHP */
$selection = $this->getSelection($id);
/* Below code will not work in a strict language */
if (is_array($selection))
show_template($selection);//forwards *array* results to the view script
else
print $selection; //prints the *string* notice message
/* Returns either array or string */
/* return param doubles as a business-payload or error message */
function getSelection($id)
{
$result = $db->getResultsById($id);
if ($result) return $result;//array
else return "No results";//string
}
因为我可以用 PHP 和类似的语言做到这一点,这是否意味着我应该这样做?
另一种方法是强迫自己以类似的方式编写代码,例如,在 C++ 中,我将重新设计代码或创建数据结构以保持其类型。但我应该这样做吗?