Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 132
  1. Renaming Magically With zmv

    I just learned about zmv and I love it.

  2. The Myth of Advanced TDD

    “I want to get a lot of wisdom on TDD techniques”.

  3. Guard Rails, Not Prison Bars

    A recent experience with a hotel coffee machine illustrated one primary difference of philosophy related to software design.

  4. Today’s article answers a question that I received recently.

  5. When Subclasses Are Ready To Die

    I don’t like to inherit implementation (create subclasses).1 When refactoring class hierarchies, I often pull behavior up into superclasses, then out into collaborators.2 Over time, I might find myself left with subclasses that only differ by overriding m…

  6. I’ve been teaching programmers about the value of isolated tests1 for a long time, and recently I’ve seen increasing resistance to the idea.

  7. Following is not only a tutorial, but also an example of the notes that I take when I figure out how to do something.

  8. No More Boilerplate Code

    The name template method is a perfect example of a structural name: it describes the implementation rather than the meaning or purpose.

  9. I recently encountered a code base in which someone had applied the Golden Master technique, but done so in a way I find risky, so I wanted to warn you against letting this happen in your code.

  10. A Tiny Cohesion Risk

    Today I’d like to share an example of a tiny cohesion risk.

  11. How Reuse Happens

    I often hear this: Why should we extract this code?

  12. In “What Is Functional Programming?”

  13. When you use relative include paths in your code, you bind each source code file to its current location in the project’s file layout.

  14. No matter what one writes, no matter how carefully one tries to articulate it, a non-trivial segment of the readership will interpret it differently from what one intended.

  15. Designing the Entry Point

    The entry point.

  16. You might have noticed dependency injection gaining popularity in recent years.

  17. A Twitter follower asked me how to recover from feeling overwhelmed by too many integrated tests, calling it “a common struggle of mine”.

  18. Null: Design Tool

    This article describes an evolutionary design microtechnique.

  19. We recently ran a legacy code retreat based on your format.

  20. Your Tests Are Dragging You Down

    I’ve written in the past that integrated tests are a scam, but that’s not what I mean here.

  21. When clients ask me to help them with legacy code it generally takes less than 30 minutes for me to run into a debilitating constructor—a term I use to describe a constructor that does too much.

  22. A Real-Life Contract Test

    For years I’ve written about contract tests, and most notably have never had any clear examples of them to share with you.

  23. You Have To Know When To Stop

    After one of the mob programming sessions I did with RubySteps last year, a viewer singled out this as a valuable piece of advice: One of the most important things that a programmer must learn how to do is to stop when they get to the end.

  24. I had intended to write a nice article showing a concrete example of learning tests in action, then something wonderful happened: all the code disappeared.

  25. IDEA Crashes on Launch on Yosemite

    I upgraded to Mac OS 10.10 Yosemite and something strange happened with my installations of IntelliJ IDEA.

  26. How do I gain confidence in code that generates HTML, such as tag libraries or view templates?

  27. Clean Up Those Nasty Junk Drawers

    Almost everyone starts organizing their tests according to the module (or class or object) that they’re testing.

  28. You have inherited some code.

  29. Some time ago a client asked me some questions about spies and mocks.

  30. I think that programmers worry far too much about design.

  31. .

  32. Refactoring CSS: Not Impossible

    I wanted to change some of the styling at jbrains.ca, but I have a legacy Wordpress template, so I needed a way to start making incremental changes with something remotely approximating tests.

  33. How TDD Affects My Designs

    I have written elsewhere that people, not rules, do things.

  34. In 2014 I read an article with the provocative title “Mockists are Dead.

  35. Musings on Refactoring as Waste

    Recently Bob Marshall opined that refactoring code is waste.

  36. If you like to teach test-first/test-driven techniques, then you have probably stumbled over configuration problems in your programming environment.

  37. Putting An Age-Old Battle To Rest

    So maybe not an epic, age-old battle, but a battle nonetheless.

  38. Beyond Mock Objects

    You might call this title “clickbait”.

  39. Losing time to Faraday

    I just wanted an HTTP client.

  40. At Øredev 2013, I asked managers to tell me what makes their job difficult.

  41. The Pain of Implicit Dependencies

    Legacy code imposes an unbounded, inexact tax on the cost of all future features.

  42. I love having tricky conversations on Twitter.

  43. Primitive Obsession Obsession

    A Twitter conversation about Primitive Obsession caught my eye today.

  44. Modularity. Details. Pick One.

    The bottom line: Modularity.

  45. Another “demystifying” article.

  46. I apologise for the pompous title; I wrote it just for fun.

  47. Inquisition By Contract

    Just a fun link today.

  48. I really like Octopress, which is built on Jekyll.

  49. Announcing a New Book

    I’m pleased to announce that I have started writing a new book, entitled Responsible Design for Android.

  50. A new twist on an old pattern

    I’m coding like it’s 2000, meaning in Java.