The moment you write a line of code you are putting an expiry date on it. There is only one way of pushing this expiry date further into the future: refactoring. While some changes are small others require to completely change the tech stack. But how can you make these changes without putting development on halt? This talk will show you how to continuously improve a code base without making everyone hate you.
package.json. That is, of course, all except the styles. Some libraries ship CSS files, some use a CSS-in-JS approach. However, regardless of the method, you need to force the people that use your library to adapt to the decisions you have made. This talk proposes a new way that lets the people who use your library use their existing styling approach. All without you knowing what they will opt for in the end.
This talk is about common mistakes people make when writing tests. Mixing multiple concerns inside tests is tempting because it can feel like painting the whole picture. However, it obfuscates the root cause when a test fails. Setup methods are great, but when developers are too focused on keeping their tests DRY, they can easily cause test interdependence. Therefore, some principles we have learned to build our software we need to unlearn when it comes to testing. The talk highlights more aspects like bloated tests, making it hard to figure out what they are about, and proper assertions to get better error messages. Especially if you don't work with TDD, it can be easy to come up with a test that looks good but stands in your way when it fails. This talk focuses on the four scenarios I outlined above, explains why it makes sense to think about them, and provides actionable suggestions on improving tests.
When you're new to development existing frameworks can seem magical and you sometimes have the feeling that you'll never be able to build something like this on your own. This talk will take the magic out of a prominent library. We will look at the basic principles that are used so that you can understand what happens behind the scenes. With this, you will be able to implement it yourself afterward and maybe even tweak it a bit more. You are now a library developer!