In this episode, we continue with the series on clean code by Robert C. Martin and dive into Chapter 3: Functions. We'll explore the importance of small and concise functions, the one thing rule, and the step-down rule. Additionally, we'll discuss switch statements and the ideal number of arguments for a function. We'll also touch upon the concept of side effects and the DRY principle.
We'll begin by examining real-world examples from the Android Open Source Project, including NotificationManagerService and ActivityManagerService, to showcase how to create separate functions for audio playback and improve readability by eliminating switch statements. We'll also discuss how to name functions descriptively and handle function arguments, including the common monadic, dyadic and triadic forms. We'll conclude by explaining how to adhere to the DRY principle and optimize for readability in any object-oriented language.
This video is perfect for anyone looking to learn about best practices for writing functions in Java or any other object-oriented language. Check out the previous two episodes in the series for more tips on writing clean code.
Links:
Episode #1: • Clean Code #1 - What is Clean Code?
Episode #2: • Clean Code #2 - Meaningful names
--------------------------------------------------------------------------------
Music track: Other Side by Balynt
Source: https://freetouse.com/music/
Vlog Music for Video (Free Download)
--------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
Got questions? Reach out to me here:
Instagram: / hundred_gb
Telegram: https://t.me/hundred_gb
Linkedin: / gaurav-bhola
Twittter: / gauravbhola_in
--------------------------------------------------------------
My Setup details (In the US):
🖥 27 Monitor ($299) GIGABYTE M27Q 27" 170Hz with KVM switch: https://amzn.to/3oQEQGz
🦾Monitor arm - HUANUO Dual monitor arm: https://amzn.to/3OXlpq7
⌨️Keyboard: KINESIS GAMING Freestyle Edge RGB Split Mechanical Keyboard (MX Brown) ($199): https://amzn.to/3Soyv2q
📱 Phone - Pixel 5 128: https://amzn.to/3JvAXjH
🖥CPU case ($129) - SSUPD Meshlicious: https://www.ssupd.co/products/meshlic...
📸Camera - Sony a6600: https://amzn.to/3JrNLHZ
🔎Lens - Sigma 16mm 1.4: https://amzn.to/3oQi4i7
🎙️Mic - Boy BY-M1: https://amzn.to/3QbvJvS
--------------------------------------------------------------
Setup details:
Budget Table: https://amzn.to/3qe3Yql
Budget Electrical sit-stand (~₹34000): https://www.purpleark.in/products/sit...
🖥 27 Monitor (One I use) (~₹40000): https://amzn.to/2Phdpno
🖥 Best 27 Monitor(Budget) India: https://amzn.to/3gprICn
💻Old Laptop - Acer Nitro 7: https://amzn.to/3cWqfnj
📱 Phone - Pixel 5a 128: https://amzn.to/3qakGal
🍎Tablet - Chromebook duet: https://amzn.to/3vImlVM
🎧Earphones - Galaxy Buds+: https://amzn.to/3zCRc9p
🎙️Mic - Boya: https://amzn.to/2RqJCNW
On My Desk:
Cello carbon ballpen: https://amzn.to/3gMv8R1
Speed triple (₹350): https://amzn.to/2BXAE2U
Earphone pouch (₹299): https://amzn.to/2PxDY8d
Under table wire management-IKEA SIGNUM (₹1299): https://amzn.to/3i5X3Ky
Primary Keyboard: KINESIS GAMING Freestyle Edge RGB Split Mechanical Keyboard (MX Brown) ($199): https://amzn.to/3Soyv2q
Keyboard-2 : HyperX RGB Cherry MX Blue Elite (₹13000):
I bought this as a renewed one and costed me ₹8000.
Mouse: Logitech G402: https://amzn.to/2BXEAkc
MousePad (₹699): https://amzn.to/3fop2nk
6-axis Monitor Arms (Dual ₹6999) (Single ₹4999): https://amzn.to/3fq35ny
Monitor Arms (Budget) (Less flexibility) (₹2999): https://amzn.to/3fm9ArD
Dual vertical laptop Stand (₹2499) (₹2999 now): https://amzn.to/2Pj0AZE
Wire Management
Clips (₹249): https://amzn.to/3fqJzaO
Velcro cable straps (₹258): https://amzn.to/3fpQRvo
Tidy Up Wire Bin (₹599): https://amzn.to/33msKvi