Coding Blocks

Clean Code - Formatting Matters


Listen Later

For the full show notes visit:
http://www.codingblocks.net/episode50

News
  • Husain and Mike - Check your email!
  • Shout out to AngryZoot! We just haven’t mentioned her in a while, and she’s awesome - and does martial arts
  • Cynical Developer - James Studdart - Cake, XAML, React (Zac Braddy)
  • Mark McDow - Winner of the O’Reilly Software Architecture Convention - $1700
  • Maurizio Pozzobon - Code Maid retraction
  • O’Reilly discount code - 50% off print, 40% off e-books! (Soft Skills - JavaScript: The Good Parts)

So - you should probably follow us on twitter, or join the mailing list!

Michael attended DevFest 2016 - Google Developer Group
http://www.gdgatl.xyz/

Secret Back Door in Some U.S. Phones Sent Data to China, Analysts Say
http://www.nytimes.com/2016/11/16/us/politics/china-phones-software-security.html

Allen attended MVP Summit - amazing

  • Did some F#
    http://c4fsharp.net/
  • F# Dojo with Fractal Trees:
    https://github.com/c4fsharp/Dojo-Fractal-Forest
  • Did some Bot programming - cool stuff
  • Hololens:
    https://www.microsoft.com/microsoft-hololens/en-us
  • Uhro Sharp - 3D programming in C#
    https://developer.xamarin.com/guides/cross-platform/urho/
  • Visual Studio for the Mac?!
    https://www.visualstudio.com/vs/visual-studio-mac/

Reply All - Pepe the Frog
https://gimletmedia.com/episode/77-the-grand-tapestry-of-pepe/

Want a Coding Blocks sticker?
Send us a Self-Addressed-Stamped-Envelope

Clean Code - Drawing!
Oddvar Tengesdal won a copy of Clean Code!

Programming Beyond Practices
http://shop.oreilly.com/product/0636920047391.do

Survey

[yop_poll id="26"]

Formatting
  • If your code is a mess, then people will assume that your attention to detail in how the app was coded is also a mess - perception
  • Teams should adopt formatting rules and follow them
  • Automated tools help with the process
  • “Code formatting is important”
  • Code formatting has a direct affect on maintainability and extensibility of code over time
Vertical Formatting
  • Try to keep max length around 500 lines long and smaller is better - FitNesse app is in this range
  • Tomcat and Ant - several thousand lines long and at least half are over 200
  • Newspaper metaphor - read it vertically - headlines at the top detail increases as we go down the page
  • Separate concepts with blank lines
  • Closely associated code should be grouped together so it’s dense
  • Concepts (methods) that are closely related should be grouped as closely together as possible to keep from hunting through files
  • Variable declarations should be as close to their usage as possible
  • If the methods are short, then the variable declarations should be at the top of the function!
  • Control variables for loop should be defined within the loop
  • Instance variables should be declared at the top of a class
  • When one function calls another, those should be close vertically in the file
  • Conceptual affinity - when methods do similar things or are named similarly, they should also appear close to each other
  • Vertical ordering of methods - the caller should be first, then the callee, and that method’s callee, etc…on down the page

New Survey
New Macbooks
- Death of Macbook Pro?
- The beginning of a new awesome era?

Horizontal Formatting
  • How wide should a line be?!
  • In the popular projects examined, it appeared that 40% of lines were between 20 and 60 characters
  • Another 30% of lines were less than 10 characters…
  • Author suggests that beyond 100-120 is careless
  • Put spaces on both sides of an assignment operator (equals sign)
  • Don’t put spaces between the function name and the parens
  • DO put spaces after individual arguments / parameters in a list - shows they are separate
  • Also use spacing to indicate the precedence of operations - think of spacing in math equations with several parentheses - author calls it out for order of precedence, I actually don’t like this one - I prefer grouping with parens
  • Lining up variable declarations, names, types - found that it was distracting to the “story” of the code….I agree
  • Hierarchically lining up code based on it’s scope - super important
  • Author would sometimes condense multiple lines into one (like a get; set;) eventually set it back for readability (breaking indentation)
  • What about for PRINT statements in SQL???
    while statements - indent the semicolon on the next line…otherwise they’re hidden
  • Follow the team’s formatting rules…don’t go vigilante
  • He threw in Uncle Bob’s formatting rules
Resources we Like Clean Code
  • Clean Code
    http://amzn.to/2cryvJR
Tip of the Week
  • Michael: Chrome Debugging - Break on Attribute Modification
    https://developers.google.com/web/tools/chrome-devtools/javascript/add-breakpoints
  • Allen: Enforce code formatting amongst many editors for people on a team - from Gustav in our Slack community
    http://editorconfig.org/
  • Joe: Coding Math on Youtube:
    https://www.youtube.com/user/codingmath
...more
View all episodesView all episodes
Download on the App Store

Coding BlocksBy Allen Underwood, Michael Outlaw, Joe Zack

  • 4.9
  • 4.9
  • 4.9
  • 4.9
  • 4.9

4.9

931 ratings


More shows like Coding Blocks

View all
Planet Money by NPR

Planet Money

30,660 Listeners

Hidden Brain by Hidden Brain, Shankar Vedantam

Hidden Brain

43,758 Listeners

Developer Tea by Jonathan Cutrell

Developer Tea

402 Listeners

Software Engineering Radio by se-radio@computer.org

Software Engineering Radio

273 Listeners

6 Minute English by BBC Radio

6 Minute English

1,820 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

623 Listeners

The Daily by The New York Times

The Daily

112,597 Listeners

Behind the Bastards by Cool Zone Media and iHeartPodcasts

Behind the Bastards

15,539 Listeners

.NET Rocks! by Carl Franklin and Richard Campbell

.NET Rocks!

244 Listeners

All-In with Chamath, Jason, Sacks & Friedberg by All-In Podcast, LLC

All-In with Chamath, Jason, Sacks & Friedberg

9,911 Listeners

The MeidasTouch Podcast by MeidasTouch Network

The MeidasTouch Podcast

49,934 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

70 Listeners

"Econ 102" with Noah Smith and Erik Torenberg by Turpentine

"Econ 102" with Noah Smith and Erik Torenberg

152 Listeners