Non-linearity is great if used correctly in movies. In this one, it felt really choppy and rushed in the beginning (after the Krypton part). There were quite a few plot holes (although this is common in pretty much every super hero movie) and the story was fairly mediocre.
However, the fight scenes were probably the best I've ever seen. They were incredibly over the top and I loved them. As for the controversial ending, I liked it. A lot of people don't seem to get why he had to do this. Zod's purpose in life had been taken from him and so in his rage, he wants to destroy everything Superman loves. He wasn't going to stop trying to kill people until he was dead.
However, the fight scenes were probably the best I've ever seen. They were incredibly over the top and I loved them. As for the controversial ending, I liked it. A lot of people don't seem to get why he had to do this. Zod's purpose in life had been taken from him and so in his rage, he wants to destroy everything Superman loves. He wasn't going to stop trying to kill people until he was dead.