And that wasn't all! One player wrote:
Finally, a couple of players wrote to complain about the sheer volume of code that had to be read to answer the quiz.
1. Regarding the lack of ORDER BY: I'd actually rather invite answers from players first, before I offer my view on this. I am curious to see what you think.
2. Regarding the inclusion of DECLARE...BEGIN...END inside another BEGIN...END: actually, that is absolutely acceptable in PL/SQL. That is an example of a nested block. I generally avoid nested blocks in my code and instead create a nested or local subprogram (procedure or function). This means that instead of the following:
BEGIN some_code; DECLARE l_var NUMBER; BEGIN l_var := 100; END; more_code; END;I would write the following:
DECLARE PROCEDURE set_l_var IS l_var NUMBER; BEGIN l_var := 100; END; BEGIN some_code; set_l_var; more_code; END;I find this approach much more readable and easier to maintain.
3. Regarding volume of code: generally I try to avoid lots of code repetition in the choices by isolating the common parts, putting them in the question and just including a comment in the question code that should be replaced by the code in the choices. In this case, however, three of them were very similar but the fourth was quite different, so I could not easily avoid the situation.
Looking forward to your thoughts....SF