Blogging about programming
AI reignited my coding passion
I’ve been programming for nearly 40 years — started messing around with code at 8, built my first real shareware software at 15, and now, at 47, I thought I’d seen it all. But lately, AI tools like Claude Code, Cursor and Windsurf have taken my passion for coding to a whole new level . It’s the opposite of what I feel some senior developers are saying these days (if they have even tried it), and I get why — change can feel threatening. When I first dipped into AI, I’ll admit I felt a mix of a...
Tip: Use explicit log statements
Logging is a critical practice in software development, providing insights into the application’s behavior, helping diagnose issues, and facilitating debugging. However, the effectiveness of logging is significantly influenced by how log statements are written. It’s essential to make log statements explicit and contextual, which not only enhances the readability and maintainability of the code but also aids in troubleshooting. Why Explicit Log Statements Matter When you include context in y...
Tip: Avoid nested ternary operators (?:)
Nested ternary operators in a single line are difficult to read and understand. Instead, refactor them into a separate function or split them across multiple lines with clear grouping. Avoid <View style={{ alignItems: closeToRight ? 'flex-end' : closeToLeft ? 'flex-start' : 'center' }} /> Do function alignItemsByAdjustment (left, right) { if (right) { return 'flex-end' } else if (left) { return 'flex-start' } else { return 'center' } } <View style={{ alignIt...
Tip: Avoid let statements
Do not use let when only used for delayed initialization. Using let is a hint to developers, that variable will change over time so should be avoided if possible by restructuring initialization. Avoid let closeToLeft = false let closeToRight = false if (maxDepthPixelValue < 60) closeToLeft = true if (maxDepthPixelValue > Utils.width - 60) closeToRight = true Do const closeToLeft = (maxDepthPixelValue < 60) const closeToRight = (maxDepthPixelValue > Utils.width - 60)