Gui Ferreira
banner
guiferreira.me
Gui Ferreira
@guiferreira.me
Minimalist Software Craftsman
▶️ YouTube: http://youtube.com/@gui.ferreira
Ⓜ️ Microsoft MVP
Take a few minutes to set up solution-wide global usings, you'll thank yourself when new projects are clean and ready to go.
November 14, 2025 at 9:00 AM
Small tip: double-check the folder structure. Directory.Build.props affects projects in its folder and subfolders. Adjust as needed to avoid unexpected imports.
November 14, 2025 at 9:00 AM
This works great for libraries, cross-cutting concerns, or any shared code. Less boilerplate, fewer typos, and consistent imports across your solution.
November 14, 2025 at 9:00 AM
By using Directory.Build.props, you can declare common namespaces once, and all projects under that folder inherit them automatically.
November 14, 2025 at 9:00 AM
Normally, shared dependencies like Core.Domain or utilities need to be imported in every project. That's repetitive.
November 14, 2025 at 9:00 AM
TL;DR: Complexity often comes from blind persistence. Step back, rethink, leverage your tools, and simplify.
November 12, 2025 at 9:05 AM
Moment of frustration = opportunity to learn. Don't get trapped by sunk time or "just finish it" thinking.
November 12, 2025 at 9:05 AM
Sometimes the solution is already in the tools you have but haven't considered. Start fresh, explore your options, simplify.
November 12, 2025 at 9:05 AM
The key lesson: when you feel the task getting too complex, stop. Step back. Ask yourself: "Is there a simpler way?"
November 12, 2025 at 9:05 AM
Index checks, conditional logic, string concatenation… suddenly you're deep in edge cases like "extra comma at the end".
November 12, 2025 at 9:05 AM
Example: printing names of length 4, uppercase, comma-separated. Sounds trivial, right? But step-by-step, small decisions pile up.
November 12, 2025 at 9:05 AM

Lesson: Before adding complexity, check if the platform has already solved your problem for you.

#developer #coding #programming
November 10, 2025 at 9:05 AM

The browser does the hard work:

- Supports AVIF? → loads AVIF
- Doesn't? → falls back to WebP
- Still in the past? → falls back to JPEG

✨ Result: 40% smaller payloads, higher Lighthouse scores, with no infrastructure complexity.
November 10, 2025 at 9:05 AM
I haven't found a definitive answer, but it looks definitive to me.

Honestly, I would prefer a standard upgrade to the old package.
November 7, 2025 at 10:18 AM
Next time you start a new project or refactor an existing one, check your tests, global usings can save you hours of repetitive work. Most IDEs can even automate this for you: highlight a 'using' → convert to global using. ⚡
November 7, 2025 at 9:05 AM
The result? Your test files are smaller, easier to read, and you reduce the risk of typos or missing references. All in minutes, zero risk. ✅
November 7, 2025 at 9:05 AM
With global usings, you declare those common namespaces ONCE, and they're available in all files. No more clutter at the top of every file.
November 7, 2025 at 9:05 AM
Typically, test files repeat references to your domain, core, or testing frameworks (`Xunit`, `Moq`, etc.). It's tedious and adds boilerplate.
November 7, 2025 at 9:05 AM