品味:重写代码,排除特例,覆盖所有情况

差品味:

 

remove_list_entry(entry)
{
	prev = NULL;
	walk = head;

	while (walk != entry){
		pre = walk;
		walk = walk->next;
	}

	if (!prev)
		head = entry->next;
	else
		prev->next = entry->next;
}

好品味:

 

 

remove_list_entry(entry)
{
	indirect = &head;

	while ((*indirect) != entry)

		indirect = &(*indirect)->next;

	*indirect = entry->next;
}