Hi, guys. I'm really surprised about this

> - (+) asserts look nicer and are more readable than if (something):
>    throw Exception()

I'm pretty sure that all the code I have encountered a way more readable
using "if/else" or "try/except". But may be it is just me. Could you
provide an example of code which is better with "assert"?

 - (+) asserts are especially good for cases like None exception - they
>    add more developer friendly messages when they will fail a few lines
> below
>    with (for example) None has no property "dag". But it's ok if those get
>    optimised away.

I think the best way to catch None is to ensure your code would fail
conveniently. Like raising understandable Exception message, if you believe
that should be a point of confusion.

On Tue, 3 Dec 2019 at 16:22, Iuliia Volkova <[email protected]> wrote:

> Hi everyone, I'm usually not write anything in this mail list, but this
> theme something really strange
> Exist offissial doc:
> https://docs.python.org/3/reference/simple_stmts.html#the-assert-statement
>
> and there is a key information: Assert statements are a convenient way to
> insert debugging assertions into a program.
>
> *Debugging. * - this is a key propose of asserts keyword.
>
> there is no any type of possible asserts that cannot be done with normal
> Exceptions and Errors types that more explicit and detailed when 'assert' -
> you have ValueError, TyperError and etc. what kind of problems must solved
> DEBUG tools in production code that can be easily turned off on servers by
> users?
>
> asserts used in tests and in process of debug code, not in production
>
> On Tue, Dec 3, 2019 at 6:47 PM Jarek Potiuk <[email protected]>
> wrote:
>
> > We had a few discussions about using asserts in our code. I pasted some
> > links below but wanted to extract a gist of it.
> >
> > Here are the comments summarised:
> >
> >    - (+) asserts look nicer and are more readable than if (something):
> >    throw Exception()
> >    - (-) asserts can be optimized away with -O flag so we should not
> based
> >    any real logic on having them
> >    - (+) asserts are good in cases that can happen in development but
> >    should "never happen" in reality
> >    - (+) asserts are especially good for cases like None exception - they
> >    add more developer friendly messages when they will fail a few lines
> > below
> >    with (for example) None has no property "dag". But it's ok if those
> get
> >    optimised away.
> >
> > We would like to discuss those points in community and have a community -
> > driven decision on:
> >
> > 1) whether we should use asserts?
> > 2) in which cases
> > 3) in which cases we should NOT use asserts.
> >
> > J.
> >
> > The links here:
> >
> > Slack Discussion:
> > https://apache-airflow.slack.com/archives/CCQ7EGB1P/p1575364664041300
> >
> > Github threads:
> >
> >    - https://github.com/apache/airflow/pull/6596#discussion_r352916409
> >    - https://github.com/apache/airflow/pull/6596#discussion_r352914727
> >    -
> > https://github.com/apache/airflow/pull/3690#pullrequestreview-143376629
> >
> > Stack overflow link for asserts:
> >
> >    - https://stackoverflow.com/a/1838411/5691525
> >
> >
> >
> >
> >
> > J.
> >
> > --
> >
> > Jarek Potiuk
> > Polidea <https://www.polidea.com/> | Principal Software Engineer
> >
> > M: +48 660 796 129 <+48660796129>
> > [image: Polidea] <https://www.polidea.com/>
> >
>
>
> --
> _________
>
> С уважением, Юлия Волкова
> Тел. : +7 (911) 116-71-82
>

Reply via email to