JavaScript Jabber
JavaScript Jabber
DevChat.tv
Weekly podcast discussion about Javascript on the front and back ends. Also discuss programming practices, coding environments, and the communities related to the technology.
JSJ 408: Reading Source Code with Carl Mungazi
55 minutes Posted Nov 19, 2019 at 3:00 am.
    0:00
    55:10
    Download MP3
    Show notes
    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
    Sponsors
    Hasura.io 
    Sentry | Use the code “devchat” for $100 credit
    Adventures in Angular
    Links
    Mithril.js
    Preact
    Limejump
    Picks
    AJ O’Neal
    Zen of Python
    The Go Proverbs
    Go with Versions
    Link’s Awakening soundtrack
    Dan Shapir
    Programming Pearls book
    Lord of Light
    Steve Edwards
    Jabra Elite 65T
    Charles Max Wood
    Garth Brooks
    The Rocky movies
    Carl Mungazi
    Follow Carl @CarlMungazi and carlmungazi.com
    EcmaScript Spec
    HTML 5.2
    Snarky Puppy