Chris Angelico <ros...@gmail.com>: > Or, in as many cases as possible, raise an implicit KeyError and save > yourself a lot of typing. Any time these kinds of elif trees can be > turned into dict lookups, you get non-assert error checking for free.
I agree that you shouldn't sprinkle asserts around the code. But consider this example: count = next_size / len(choices) The casual reader of the code might be left wondering if "choices" could be zero-length and if the programmer had overlooked the possibility, leading to a lengthy analysis and bewilderment. However, the programmer could have played this frustration out already in his head and written: assert len(choices) > 0 count = next_size / len(choices) or, equivalently: # here len(choices) > 0 count = next_size / len(choices) and the casual maintainer would be able to read on. Marko -- https://mail.python.org/mailman/listinfo/python-list