which are the common coding situations that developers come across frequently