Dear Apple, I love my 2014 MacBook Pro. It has been a rock-solid development machine, especially when I’m building mobile apps. You’ve made it pretty rough to do iOS development on anything else, but I can let that slide because your hardware is sooo good. But as computers often do, mine is beginning to slow…
Read more…
#10 – The build server always has a few failing tests Unit tests are a valuable piece to a layered approach to quality. But unit tests only have value if people see them as needing to always pass. The moment people stop caring about failing unit tests, they have lost their value. #9 –…
Read more…
Our Software Design and Development Clinics focus on teaching engineers the real-world development skills that will make them more productive and effective. Part of the class is Doug and I covering several topics, but we try to have a real focus on actually doing things. We want students to develop skill and knowledge, which takes…
Read more…
As we look at arguments we care too much about, one of those would be “should we use a schema (or model) based solution database change control, or should we store off deltas?” First off, source control is useful, and not just for our application code. Storing the database somewhere in source control along with…
Read more…
Git is amazing. If you’re not familiar with Git, it is a source control system that actually works. There are many improvements that Git brought to how we manage projects, but a big one is that Git really supports branches. Git will do something no other source control supported (that I had worked with): branching…
Read more…
Our Software Design and Development Clinics focus on teaching engineers the real-world development skills that will lead them to be more productive and effective. Doug and I cover several topics during the clinics, but we try to focus on actually doing things. We want students to develop skill and knowledge, which takes both learning and…
Read more…
Previously, we have discussed the silly arguments of tabs versus spaces, squash versus no-squash merges, and constructor injection versus service locator. Now it’s time to talk about var. When I first found var in .NET 3.5 SP1, I thought they had ruined .NET. This wasn’t the first time I thought they had ruined .NET. The…
Read more…
Previously in this series, we have discussed the silly arguments of tabs versus spaces and squash versus no-squash merges. Now we are moving on to constructor injection versus service locator. Sometimes both sides of an argument are valid, and often you are picking something based off of personal preference. This feels like one of those…
Read more…
Previously in this series, we discussed the silly argument of tabs versus spaces. Now we are moving on to squash merge versus no squash merge. Before getting into this topic, we should cover branching in Git. Git is a source control system created by Linus Torvalds. One of its key differentiators is that branching actually…
Read more…
In our industry there are conversations (arguments, really) that probably aren’t very fruitful. Some of these can include: Tabs vs Spaces Squash merge vs no squash merge git branching strategy var or not to var Constructor injection vs dependency injection Database change control – deltas vs schema I’m kicking off a series where we look…
Read more…