This video shows 7 code smells that point to poor design decisions, as well as how to fix them. I’m pretty sure you’re guilty of at least one of these smells (as I was in the past :) ), and knowing these will help you write much cleaner, more robust code.
The code that I worked on in this video is available here: https://github.com/ArjanCodes/2021-code-smells.
✅ Write cleaner code with Sourcery: https://sourcery.ai/?utm_source=YouTube&utm_medium=aff&utm_campaign=ArjanCodes
My camera gear:
📷 Sony A7C - https://amzn.to/3aShCtw
🎙 Rode Wireless GO - https://amzn.to/3pSLFVU
🎙 Electrovoice RE20 - https://amzn.to/3xQAJ0w
🎙 Sennheiser MKH416 P48 - https://amzn.to/3vOpx2i
🎚 Sound Devices Mix-Pre 3 II - https://amzn.to/3nSOc37
💡 GVM RGB LED light - https://amzn.to/3qRNJid
💡 GVM 100W light with lantern softbox - https://amzn.to/2NuU8lk
A few interesting links to articles and books:
Refactoring: Improving the Design of Existing Code (2nd Edition) by Martin Fowler - https://amzn.to/35N4Clq
☕If you want to support this channel, you can buy me a coffee here: https://www.buymeacoffee.com/arjancodes.
👍 If you enjoyed this content, give this video a like. If you want to watch more of my upcoming videos, consider subscribing to my channel!
💬 Join my Discord server here: https://discord.arjancodes.com
👀 Channel code reviewer board:
1:27 Explaining the example
3:12 Code smell #1: imprecise types
5:52 Code smell #2: duplicate code
7:31 Code smell #3: not using available built-in functions
8:53 Code smell #4: vague identifiers
10:05 Code smell #5: using isinstance to separate behavior
13:40 Code smell #6: using boolean flags to make a method do 2 different things
15:58 Code smell #7: catching and then ignoring exceptions
17:29 Code smell #8 (BONUS): not using custom exceptions
21:30 Final thoughts
DISCLAIMER - The links in this description might be affiliate links. If you purchase a product or service through one of those links, I may receive a small commission. There is no additional charge to you. Thanks for supporting my channel so I can continue to provide you with free content each week!