In this episode, we dive deep into the world of clean coding with none other than the master and pioneer of the field, Uncle Bob. We explore the nuances and the art behind writing effective and efficient scripts. This conversation covers the nitty-gritty of writing and editing scripts, from understanding how to break down large functions, to discussing principles like 'Single Responsibility Principle', 'Dependency Inversion Principle' and how to balance the 'DRY' (Don't Repeat Yourself) principles. Uncle Bob also shares valuable insights on testing, handling errors, naming conventions and how to work with different types of duplication in coding. He shares recommended resources and books that every coder should read.
Chapters:
00:00 Introduction and Welcome
00:06 The Importance of Code Quality
00:29 Introducing Robert Martin (Uncle Bob)
01:39 Uncle Bob's Journey in Programming
02:34 Discussion on Functional Design and New Book
03:52 The Evolution of Software Development
04:28 Revisiting the Clean Code Book
04:49 The Impact of Hardware Changes on Software
06:13 The Evolution of Programming Languages
07:33 The Importance of Code Structure and Organization
09:07 The Impact of Microservices and Open Source
11:14 The Role of Modular Programming
22:07 The Importance of Naming in Code
26:31 The Role of Functions in Code
34:12 The Role of Switch Statements in Code
42:36 The Importance of Immutability
51:00 Dealing with Complex Steps in Programming
51:21 Implementing State Machines in Programming
51:46 The Pragmatic Approach to Programming
53:01 Understanding Error Handling in Programming
54:08 The Challenge of Exception Handling
57:27 The Importance of Log Messages in Debugging
01:03:05 The Dilemma of Code Duplication
01:05:51 The Intricacies of Error Handling
01:07:40 The Role of Abstraction in Programming
01:13:55 The Importance of Testing in Programming
01:19:43 The Challenges of Mocking in Testing
01:25:11 The Essence of Programming: Discipline, Ethics, and Standards
Book Recommendations:
Tidy First: https://www.oreilly.com/library/view/tidy-first/9781098151232/
Design Patterns: https://www.amazon.de/-/en/Erich-Gamma/dp/0201633612
Analysis Pattern: https://martinfowler.com/books/ap.html
Structured Analysis and System Specification: https://www.amazon.de/-/en/Tom-Demarco/dp/0138543801
Fundamental Algorithms: https://www.amazon.com/Art-Computer-Programming-Vol-Fundamental/dp/0201896834
Sorting and Searching: https://www.amazon.de/-/en/Donald-Knuth/dp/0201896850
Structure and Interpretation of Computer Programs: https://web.mit.edu/6.001/6.037/sicp.pdf
===============================================================================
For discount on the below courses:
Appsync: https://appsyncmasterclass.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Testing serverless: https://testserverlessapps.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Production-Ready Serverless: https://productionreadyserverless.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003
Use the button, Add Discount and enter "geeknarrator" discount code to get 20% discount.
===============================================================================
Follow me on Linkedin and Twitter: https://www.linkedin.com/in/kaivalyaapte/ and https://twitter.com/thegeeknarrator
If you like this episode, please hit the like button and share it with your network.
Also please subscribe if you haven't yet.
Database internals series: https://youtu.be/yV_Zp0Mi3xs
Popular playlists:
Realtime streaming systems: https://www.youtube.com/playlist?list=PLL7QpTxsA4se-mAKKoVOs3VcaP71X_LA-
Software Engineering: https://www.youtube.com/playlist?list=PLL7QpTxsA4sf6By03bot5BhKoMgxDUU17
Distributed systems and databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4sfLDUnjBJXJGFhhz94jDd_d
Modern databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4scSeZAsCUXijtnfW5ARlrsN
Stay Curios! Keep Learning!