tl;dr:Alex explains how to use compile-time reflection to automatically extract a data structure's public API for comprehensive testing. He introduces "swarm testing" - randomly selecting subsets of features to test intensively rather than testing uniformly. This approach ensures complete API coverage and fails when new methods are added, prompting developers to add corresponding tests.
tl;dr:“The idea of snapshot testing is simple. First, you convert the outcome of a test to a textual representation. Then, you compare it with expected value, specified as an inline string literal, using textual diff. Finally, there’s a tool that will automatically update the literal in the source code to match the value actually observed.”
tl;dr:“An article about a couple of relatively recent additions to my workflow which I wish I knew about years ago: Split And Go To Definition. Go to definition is super useful. But often, when I use “goto def” I don’t actually mean to permanently go there. Rather, I want to stay where I am, but I need a bit more context about a particular thing at point. What I’ve found works really great in this context is to split the screen in two, and issue “go to def” in the split.” Alex shares an example.
tl;dr:“This post describes my current approach to testing. When I started programming professionally, I knew how to write good code, but good tests remained a mystery for a long time. This is not due to the lack of advice — on the contrary, there’s abundance of information & terminology about testing.”
tl;dr:“After working on the initial stages of several largish projects, I accumulated a list of things that share the following three properties: (1) They are irrelevant while the project is small. (2) They are a productivity multiplier when the project is large. (3) They are much harder to introduce down the line.”
tl;dr:“After working on the initial stages of several largish projects, I accumulated a list of things that share the following three properties: (1) They are irrelevant while the project is small. (2) They are a productivity multiplier when the project is large. (3) They are much harder to introduce down the line.”
tl;dr:“There are a bunch of posts on the internet about using git worktree command. As far as I can tell, most of them are primarily about using worktrees as a replacement of, or a supplement to git branches. Instead of switching branches, you just change directories. This is also how I originally had used worktrees, but that didn’t stick, and I abandoned them. But recently worktrees grew on me, though my new use-case is unlike branching.”
tl;dr:“This post describes my current approach to testing. When I started programming professionally, I knew how to write good code, but good tests remained a mystery for a long time. This is not due to the lack of advice — on the contrary, there’s abundance of information & terminology about testing.”
tl;dr:“After working on the initial stages of several largish projects, I accumulated a list of things that share the following three properties: (1) They are irrelevant while the project is small. (2) They are a productivity multiplier when the project is large. (3) They are much harder to introduce down the line.”