Loading…
deliver:Agile 2018 has ended
Back To Schedule
Monday, April 30 • 11:15 - 12:00
Noisy Code: The SNR Conjecture (Tim Ottinger)

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!


Abstract:
We will focus solely on how clearly and starkly code presents its intention: its Signal-to-Noise Ratio (SNR).
We will explore this one aspect as a potential replacement for other measures and heuristics of code quality.
When the meaning and mechanics of any passage (paragraph, function, or page) of source code are both apprehended easily, that code is
  • faster to skim
  • faster to read deeply
  • faster to improve
  • quickly identified or excluded as the site of a defect
Reaching that point of easy comprehension is trickier. Relying on catalogs of code smells and/or automated code quality metrics can leave a lot of room for misunderstanding:
  • One passage of code may strictly have low cyclomatic complexity, low line count, no constants, low operator density, and longer variable names but remain tricky to modify
  • Another passage can be terse, dense, and use short names but remain easy to understand and modify until the metrics system requires a developer to make it less dense and thereby less understandable.
Come see some examples of low-signal (or high-noise) software, in a "before and after" format, and let's discuss how and whether this one aspect makes code craft more learnable and teachable, and deepens your awareness of code quality.

Learning Outcomes:
  • Those in the room will learn a (perhaps) new way to consider their code, and to teach others to consider the code they write.
  • Attendees will focus on the essential nature of the code, and their ability to use code craft to cooperate with their IDEs for faster/safer coding.


Speakers
avatar for Tim Ottinger

Tim Ottinger

Anzeneer, Industrial Logic
Tim is a long-time programmer (since 1979), reviewer, speaker, writer. He has been active in many of the big changes in software over the past 36 years (including Design Patterns, Object-Oriented Design, and Agile software development). In addition to his contributions in "Clean... Read More →


Monday April 30, 2018 11:15 - 12:00 CDT
Lone Star F/G