[Python-Dev] (#19562) Asserts in Python stdlib code (datetime.py)

Antoine Pitrou solipsis at pitrou.net
Sat Nov 16 16:46:00 CET 2013


On Sat, 16 Nov 2013 17:34:15 +0200
Maciej Fijalkowski <fijall at gmail.com> wrote:
> On Sat, Nov 16, 2013 at 5:33 PM, Maciej Fijalkowski <fijall at gmail.com> wrote:
> > On Sat, Nov 16, 2013 at 5:09 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> >> On 16 November 2013 23:17, Maciej Fijalkowski <fijall at gmail.com> wrote:
> >>> On Sat, Nov 16, 2013 at 3:51 AM, Terry Reedy <tjreedy at udel.edu> wrote:
> >>>> If user input can trigger an assert, then the code should raise a normal
> >>>> exception that will not disappear with -OO.
> >>>
> >>> May I assert that -OO should instead be killed?
> >>
> >> "I don't care about embedded devices" is not a good rationale for
> >> killing features that really only benefit people running Python on
> >> such systems.
> >>
> >> Cheers,
> >> Nick.
> >
> > Can I see some writeup how -OO benefit embedded devices?
> 
> Or more importantly, how removing assert does. And how not naming it
> --remove-asserts would not help (people really have an opinion it
> would optimize their code)

I agree that conflating the two doesn't help the discussion.
While removing docstrings may be beneficial on memory-constrained
devices, I can't remember a single situation where I've wanted to
remove asserts on a production system.

(I also tend to write less and less asserts in production code, since
all of them tend to go in unit tests instead, with the help of e.g.
mock objects)

Regards

Antoine.




More information about the Python-Dev mailing list