, 5 tweets, 2 min read Read on Twitter
@briman1234 Hmmm. First, of course, yes: any branch I can do without, I will. One way to reduce the actual "switch-time" is to use interfaces and polymorphism. In the various schemes, you "if" once and set an interface delegate to some implementation that will "do the right thing"...
@briman1234 ... This is a good technique, first because it localizes your decision to exactly one point, making it easier/faster to read/write/test/debug.
@briman1234 Second, because a great many conditions for branching that one finds in real apps are really "bulk thens": one condition, many then's applied at various points.
@briman1234 At the same time, a lot of the challenges of branching are unavoidable, and even use of a strategy-like pattern can't quite pull that off. If you make two paths, you want to test the condition *and* you want to test the two paths.
@briman1234 Reducing the number of times you check the condition is great. But it doesn't reduce the number of times the two path-implementors are called, or their need for balance and correctness.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to GeePaw Hill
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!