JSJ 408: Reading Source Code with Carl Mungazi

JSJ 408: Reading Source Code with Carl Mungazi

Carl Mungazi is a frontend developer at Limejump in London. He is a former journalist and switched to programming in 2016. Today the panel is discussing the benefits of reading source code. Carl began reading source code because he came into programming late and from a different field. His first project was with Mithril, and he read the source code and documentation to help him understand it. The panelists discuss how reading the source code has helped them and others to improve their coding. They compare reading and understanding source code to learning a foreign language, and discuss different methods. Carl gives some suggestions for reading source code effectively. He advises people to be patient and step through the code. Accept that you will probably take a wrong path at some point or another, but the more you read, the more you will see patterns in how libraries are structured. He also encourages listeners to approach the authors, as they are often happy to lend a hand. Reading source code is an active approach of stepping through, debugging, putting in break points, checking the stack, and so forth. It’s also important to do outside research. Since he has been reading source code, Carl has come to prefer plain JavaScript and libraries with as little code as possible. The panel discusses the benefits of small, simple libraries. Carl gives examples of techniques that he learned from reading a library source code and how he applied it to his own coding style. Reading source code has made him more careful about mixing logic and UI, and now he separates them. He also is more confident in seeing a problem, going to a preexisting library, and just importing the fix for that problem rather than the whole library. Reading source code is really about understanding the code you use in your project. It may slow you down, but you’ll be thankful in the long term because it will help you solve future bugs more efficiently. Carl talks more about his debugging process. He still relies on a debugger, but reading a library helps you to see patterns and guess the output of a function. These patterns persist in other libraries as well. Once you can guess correctly what will happen, you go back to reading the code and find instances where the output is unexpected, and fix it. Carl’s closing thoughts are that through reading source code, he has learned that although code is used differently in each library, they are all written in the same language, and therefore interrelated. This gave him more confidence in reading code because they’re all fundamentally the same. When a bug is discovered, he encourages listeners to look at the source code before googling a solution. Panelists
  • AJ O’Neal
  • Dan Shapir
  • Steve Edwards
  • Charles Max Wood
Guest
  • Carl Mungazi
SponsorsLinksPicksAJ O’NealDan ShapirSteve EdwardsCharles Max WoodCarl MungaziSpecial Guest: Carl Mungazi.

Support this podcast at — https://redcircle.com/javascript-jabber/donations

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Episoder(738)

066 JSJ Transitioning to JavaScript

066 JSJ Transitioning to JavaScript

PanelJoe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:10 - Making the transition from one primary lan...

5 Jul 201340min

065 JSJ Build Tools with Adam Hawkins

065 JSJ Build Tools with Adam Hawkins

PanelAdam Hawkins (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:16 - Adam Haw...

28 Jun 20131h

064 JSJ Ember Tools with Ryan Florence

064 JSJ Ember Tools with Ryan Florence

PanelRyan Florence (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rail...

21 Jun 201349min

063 JSJ Burnout

063 JSJ Burnout

PanelJamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:47 - Burnou...

14 Jun 201348min

062 JSJ Dojo with Dylan Schiemann

062 JSJ Dojo with Dylan Schiemann

PanelDylan Schiemann (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails R...

7 Jun 20131h 1min

061 JSJ Functional Reactive Programming with Juha Paananen and Joe Fiorini

061 JSJ Functional Reactive Programming with Juha Paananen and Joe Fiorini

PanelJuha Paananen (twitter github blog) Joe Fiorini (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twit...

31 Mai 201349min

060 JSJ Development Environments

060 JSJ Development Environments

PanelAJ O’Neal (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:09 - Mac, Windo...

24 Mai 201358min

059 JSJ jQuery Mobile with Todd Parker

059 JSJ jQuery Mobile with Todd Parker

PanelTodd Parker (twitter github) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp ...

17 Mai 201326min

Populært innen Business og økonomi

stopp-verden
lydartikler-fra-aftenposten
dine-penger-pengeradet
rss-penger-polser-og-politikk
e24-podden
rss-borsmorgen-okonominyhetene
livet-pa-veien-med-jan-erik-larssen
tid-er-penger-en-podcast-med-peter-warren
pengesnakk
finansredaksjonen
utbytte
pengepodden-2
rss-sunn-okonomi
morgenkaffen-med-finansavisen
lederpodden
stormkast-med-valebrokk-stordalen
liberal-halvtime
rss-markedspuls-2
lederskap-nhhs-podkast-om-ledelse
arcticpodden