On Thu, Sep 09, 2021 at 12:53:34PM -0400, Ricky Teachey wrote:

> I have never heard of DBC and don't have a clue what is stands for. I am
> not a pro software developer.

DBC stands for "Design By Contract", it is a methodology for developing 
software.

https://en.wikipedia.org/wiki/Design_by_contract

The language Eiffel is especially know for DBC, and it has contract 
testing built into the syntax.

https://www.eiffel.com/values/design-by-contract/introduction/

https://www.eiffel.org/doc/solutions/Design_by_Contract_and_Assertions


> But I would read these two lines differently, semantically. The if version
> feels like someone is saying "I am checking for a thing that could happen".
> The assert version would feel more like "maybe this could happen and I am
> checking for it because I am scared not to let's just put it here just in
> case", or said another way "it is imperative that this not happen".

Indeed. Assertions are statements about the expected state of the 
program, not queries about the current state.

https://import-that.dreamwidth.org/676.html



-- 
Steve
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/[email protected]/message/AWMATSLKXQO5XNDG4HXAQEFBNGQ4H3O7/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to