Tagged In testing :
A Fix-It Day with Cyclomatic Complexity
It is here that the stereotype of the programmer, sitting in a dim room growling from behind Coke cans, has its origins. The disorder of the desk, the floor; the yellow Post-It notes everywhere; the whiteboards covered with scrawl: all this is the outward manifestation of the messiness of human thought. The messiness cannot… Read more
Wealthfront track at the Silicon Valley Code Camp
This year’s Silicon Valley Code Camp was the largest and greatest so far. Like last year, Wealthfront (then kaChing) had few packed presentations. This year we had a full Wealthfront track, focusing on software quality starting with the first line of code through testing to production. As requested, here our our presentations. A well-typed program… Read more
Agile, test-driven development in… MATLAB?
I recently decided to take a leave of absence from kaChing to work with the Covert Systems Biology Lab at Stanford on building the world’s first “whole-cell” computational model. The team (size: 3) is extremely talented and packed with domain knowledge and experience, but they’ve never worked on a piece of software this large before. When I accepted the… Read more
Keeping the trunk stable
Since the very beginning, kaChing has been trunk stable. In other words, everybody develops on the trunk and the software is stable at every point in time. Our trunk is being continuously built and tested and we cannot deploy a revision to production unless the revision has been successfully built and all the tests are… Read more
Models, they make everything look good
One of the most common best practices in Rails is to keep the controller light weight. This helps maintain the code’s readability maintainability, and refactorability (just like coding, I make stuff up). This is often done by pushing as much of the business logic as you can (where it still makes sense) down into a… Read more
Guice tricks for better testability, part one
I thought I’d enumerate some of the small Guice tricks we use for making our code more testable. Today: Logical Clocks. You never want to use System.currentTimeMillis() in your code. Rather, you want a logical clock that you can replace in your tests in order to control the flow of time. In Guice, not only… Read more