When will it stop. These amateur programmers that simply cut/paste code really affect those good programmers in the ecosystem trying to make a decent living. I was reviewing a developed (but incomplete) PHP/MySQL system using a common framework (which in itself is irrelevant for this post).
In one source file there were 12 repetitions of the following code:
//permissions $this->security_model->setUserPermissions($id); if (!array_key_exists($id,$this->session->userdata['permissions']) OR !array_key_exists('id', $this->session->userdata['permissions'][$id]) OR !array_key_exists('scope', $this->session->userdata['permissions'][$id]['name'])){ $this->session->set_flashdata('alert', 'You are not authorized to go there.'); redirect($this->agent->referrer()); }
It’s bad enough when code is repeated and not put in a simple re factored function. When it’s repeated 12 times in one file, and OMG over 100 times in the product, that is a recipe for bugs, and high maintenance codes due to extremely poor coding practice.