A post with useful ideas - - - - thanks (it generates some questions! interleaved)
On Tue, Oct 24, 2023 at 8:35 PM Chris Angelico via Python-list <python-list@python.org> wrote: > > On Wed, 25 Oct 2023 at 12:11, Thomas Passin via Python-list > <python-list@python.org> wrote: > > This doesn't mean that no program can ever be proven to halt, nor that > > no program can never be proven correct by formal means. Will your > > program be one of those? The answer may never come ... > snip > So is all hope lost? No. We learn from our mistakes, we add more > layers. And ultimately, we test until we're reasonably confident, and > then go with it, knowing that failures WILL happen. Your goal as a > programmer isn't to prevent failure altogether - if it were, you would > never be able to achieve anything. Your goal is to catch those > failures before they cause major issues. > > 1. Catch the failure as you're typing in code. Done, fixed, that's > what the Backspace key is for. > 2. Catch the failure as you save. We have a lot of tools that can help > you to spot bugs. Tools like this for python please. > 3. Catch the failure before you commit and push. Unit tests are great for > this. Where might I find such please. > 4. Catch the failure collaboratively. Other developers can help. Or > you can use automated tests that run on a bot farm, checking your code > on a variety of different systems (see for example Python's > buildbots). This is very interesting - - - grin - - - almost looks like another rabbit hole to climb into though. > 5. Catch the failure in alpha. Release to a small number of willing > users first. They get rewarded with cool new features before everyone > else does, in return for having fewer guarantees. For here its software for use here so I get to wear all the hats. > 6. If all else fails, catch the failure before it kills someone. > Design your system so that failures are contained. That's easier for > some than others, but it's part of why I've been saying "system" here > rather than "program". This will not be an issue here - - - at least not yet. This is software for collecting data to enhance management of things that aren't generally managed in most like outfits. (Or they utilize the 800# gorillas in the industries tools which are bloody pricey.) > > Eff up like it's your job. > https://thedailywtf.com/articles/eff-up-like-it-s-your-job > Very interesting article - - - thanks! TIA -- https://mail.python.org/mailman/listinfo/python-list